黑马程序员_图形化界面和网编

------- android培训java培训、期待与您交流! ----------


1. 图形化界面

  |-- 建立一个窗口Frame类,带有标题的窗口容器
     |-- 构造方法,传递字符串,就是一个标题内容
     |-- setVisible(true)显示此窗体
     |-- setBounds(x,y,width,height)调整窗口的位置和尺寸,单位不是米,是像素
     |-- Toolkit.getDefaultToolkit().getScreenSize().width;获取屏幕分辩率
     |-- f.setBackground(new Color(204, 232, 207));//CMYK
     |-- setLayout(布局管理器对象)设置布局管理器


  |-- 按钮组件 Button




2. 事件监听机制
  |-- 事件源 (用户操作的那个组件)
  |-- 事件 (用户具体操作行为,鼠标单击,双击,鼠标移入,移出,鼠标按下,抬起)
  |-- 监听器 (是一种事件机制,专门等着用户进行事件的操作)
  |-- 处理方式 (用户操作以后,程序如何处理用户的操作,简单说调用方法)


  人.添加一个挨揍事件(受伤监听){
public void 皮外伤(受伤对象){}
public void 内伤(受伤对象){}
public void 死亡(受伤对象){}
  }


  按钮.添加一个鼠标事件(鼠标监听){
      public void 点击(监听对象){}
      public void 移动(监听对象){}
  }


  |-- WindowAdapter抽象的适配器来,存在方便我们使用事件监听机制
    |-- 适配器设计模式:将一个接口中的方法。变成用户想要的方法     


3. 键盘事件 addKeyListener
  |-- 键盘事件对象KeyEvent中的方法
    |-- getKeyCode 按键的ASCII码
    |-- getKeyChar 按键具体字符
    |-- KeyEvent对象中,封装了键盘上所有键的ASCII码,可以通过getKeyCode方法
        获取按键的ASCII吗值,和KeyEvent对象中封装的ASCII码进行比较
    |-- consume() 取消当前的事件
    |-- boolean isControlDown() 判断是否按下Ctrl键
    |-- setEchoChar('*'); TextField的方法


4. 鼠标事件 addMouseListener
   |-- mouseClicked
   |-- mouseEntered
   |-- mouseExited
   |-- 鼠标事件对象MouseEvent中的方法 getClickCount()获取鼠标点击次数


5. 对话框组件 Dialog
   |-- 构造方法 new Dialog(属于哪一个窗体,标题,模式)
   |-- 标签组件Lable 作用只为显示提示文字使用


6. 需求:
   用户输入一个路径,点击确定按钮,或者直接按回车键,显示输入的路径下的文件和文件夹
   标准写法 main启动程序。将所有的应用到的组件,定义在类的成员位置上,在init方法中,对组件
   进行初始化,所有的事件处理,不要和图形界面写在一起
   单独定义方法


7.  菜单
   |-- 创建MenuBar对象,窗体对象的setMenuBar方法,添加菜单
   |-- 创建Menu,文件,编辑 MenuBar的add方法,添加菜单
   |-- 创建MenuItem对象,将MenuItem添加到Menu中


8. 模拟记事本
   |-- 记事本的退出保存思路:
     |-- 定义一个int类型的成员变量 int x = 0;
     |-- 添加一个文本框的键盘事件,键盘按下事件
        public void keyPressed(KeyEvent e){
  int code = e.getKeyCode();
  你按下的键,应该在字母,数字,符号键
  x++;
}
     |-- 窗体关闭事件中 
       if(x!=0){
          给出对话框提示,是,否,取消
       }


==========================================================================


9. 网络编程三要素
  |-- IP地址:是接入互联网每一台计算机的独立的身份标示 0-255
    |-- www.baidu.com--DNS服务器,将域名转成IP地址
    |-- 每一个计算机,都有一个本地回环地址 127.0.0.1 本机IP地址,只要网卡正常工作
    |-- IP地址分段 A B C D E  192.168.3.100  10
    |-- 将IP地址,封装成对象,描述类 java.net.InetAddress
        通过此类中的静态方法,返回这个类的对象
static InetAddress getLocalHost
String getHostAddress() 返回字符串形式的IP地址


static InetAddress getByName(String 主机名)返回指定主机名的InetAddress对象


  |-- 端口号:应用软件的逻辑标示地址 整数
     0-65535  0-1024系统保留端口号,1024以后的端口号来使用
     feiq使用的逻辑表示10001 发出去的数据,发给对方的feiq,必须也要使用10001
     http://www.baidu.com


  |-- 传输规则
     |-- UDP ,面向无连接
     |-- 传输效率高
     |-- 数据限制在64K以内
     |-- 不可靠协议


     |-- TCP ,面向有连接
     |-- 传输效率低下,经过三次握手
     |-- 数据没有限制
     |-- 可靠协议


10.Socket服务
   |-- 快递员,赋值收货发货


11. UDP传输  DatagramPacket DatagramSocket
   |-- 发送端
   |-- 接收端
     |-- 实现步骤,参考代码

你可能感兴趣的:(黑马程序员_图形化界面和网编)