黑马程序员_java基础笔记第九天

来源:互联网 发布:虚拟专用网络服务器 编辑:程序博客网 时间:2024/05/18 03:06

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

 

一 图像和界面GUI:
 1定义:
  1 是应用程序提供给客户的操作的图形界面,操作起来方便简单。
  2 包括窗口,菜单,按钮,工具栏,和其他图形界面元素。 
  3 Java提供的开发图形界面的类都在,AWT和Swing内。
二 AWT体系:
 1 Component: 除了菜单外其他组件的父类,包括以下组件。

  1 Button(按钮)

  2 Label(标签)

  3 Checkbox(复选框)

  4 TextComponent(文本框)

  5 TextArea(单行文本框)

  6 TextField(多行文本框)
  7 Container(容器,特殊组件,可通过add方法添加其他组件)
 
  8 Panel(画板)

  9 Window(窗口)

  10 Frame(窗体)

  11 Dialog(对话框)


  12 FileDialog(文件对话框)

 2 MenuComponent :菜单栏父类,接口主要子类如下。
  1 MenuBar :构造具有指定的标签且没有键盘快捷方式的新菜单项
  2 MenuItem:菜单栏:
  3 Menu :具有指定标签的新菜单。

三 图形化界面例题:

1 记事本并可以获取指定目录下所有文件及目录的名称。

import java.awt.Button;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;

public class TestDo {
 private Frame f ;
 private Button b ;
 private TextField tf;
 private TextArea ta;
 private Dialog d;
 private Label lab;
 private Button buf;
 TestDo()
 {
  init();
 }
 public void init()
 {
  f =new Frame("Window");
  f.setBounds(0,100,1025,550);
  f.setLayout(new FlowLayout());
  tf =new TextField(100);
  ta =new TextArea("Hello",28,107);
  b =new Button("转到");
  d =new Dialog(f,"提示信息-self",true);
  d.setBounds(400,250,300,200);
  d.setLayout(new FlowLayout());
  lab =new Label();
  buf =new Button("确定");
  d.add(lab);
  d.add(buf);
  f.add(tf);
  f.add(b);
  f.add(ta);
  myEvent();
  f.setVisible(true);


 }

  private void myEvent(){

   tf.addKeyListener(new KeyAdapter(){

   public void keyPressed(KeyEvent e){

   if(e.getKeyCode()==KeyEvent.VK_ENTER)

   showDir();

   }
   });

   buf.addKeyListener(new KeyAdapter(){

   public void keyPressed(KeyEvent e){

   if(e.getKeyCode()==KeyEvent.VK_ENTER)

   d.setVisible(false);

   }

   });

   buf.addActionListener(new ActionListener(){

   public void actionPerformed(ActionEvent e){

   d.setVisible(false);

   }

   });

   d.addWindowListener(new WindowAdapter(){

   public void windowClosing(WindowEvent e){ 

   d.setVisible(false);

   }

   });

   b.addActionListener(new ActionListener(){

   public void actionPerformed(ActionEvent e){

   showDir();

   }

   });

   f.addWindowListener(new WindowAdapter(){

   public void windowClosing(WindowEvent e){ 

   System.exit(0);

   }

   });
   }
public void showDir(){
 
 String dirPath = tf.getText();
 File dir =new File(dirPath);
 if(dir.exists()&&dir.isDirectory()){
 String[] names = dir.list();
 ta.setText("");
 for(String name : names)
 {
  ta.append(name+"\r\n");
 }
}

 else
 {
  String info ="信息有误  请重新输入";
  lab.setText(info);
  d.setVisible(true);
 }
}
}

public class Test {
public static void main(String[] args) {
 TestDo t=new TestDo();
}
}

四 网络编程:
 1 定义:
  1 是指网络间数据的交换。
  2 有服务端和客户端组成。
  3 网路编程得到必要条件: IP,端口,协议,指通讯间的规则。。

五 TCP 与UDP的特点:
 1 TCP :
                1 建立连接,形成传输数据的通道。
                2 在连接中进行大量数据的传输。
                3 通过三次握手完成连接、是可靠协议。
                4 必须建立连接,效率会稍低。
  5 例如:电话通话。

 2 UDP:
                1 将数据源和目的地封装到数据包中,不需要建立连接。
                2 每个数据包的大小限制在64k以内。
                3 因无连接,是不可靠协议。
                4 不需要建立连接,速度快。
  5 例如:对讲机,聊天室。

 

六 Socket:
 1 定义:
  1 是网路编程的一种机制。
  2 通行两端都有socket。
  3 网络编程就socket健的通讯。
  4 socket通过IO流进行传输。
  

 

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
 

0 0
原创粉丝点击