package UDP;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import com.sun.glass.events.WindowEvent;
/**
* GUI聊天
*
* @author 11
*
*/
public class Demo04_GUI extends Frame {
public Demo04_GUI() {
init();
centerPanel();
southPanel();
}
/**
* 初始化窗体Frame
*/
public void init() {
this.setLocation(500, 50);// 设置窗体的位置
this.setSize(400, 600);// 设置窗体的大小
this.setVisible(true);// 显示出设置好的窗体
event();
}
/**
* 创建Frame窗体中中间的Panel
*/
public void centerPanel() {
Panel center = new Panel();// 创建中间的Panel
// 中间的panel需要两个Textarea
TextArea viewText = new TextArea(); // 显示文本的区域
TextArea sendText = new TextArea(4, 1); // 发送文本的区域
center.setLayout(new BorderLayout());// 将Panel设置为边界布局管理器
// 设置完Panel为边界布局管理器之后,就可以吧viewText和sendText分别设置到中间和南边
center.add(sendText, BorderLayout.SOUTH);// 将发送文本区域设置到南边
center.add(viewText, BorderLayout.CENTER);// 将显示文本区域设置到中间
viewText.setEditable(false);// 将显示文本区域设置为不可编辑
viewText.setBackground(Color.WHITE);// 将显示文本区域背景颜色设置为绿色
sendText.setFont(new Font("xxx", Font.PLAIN, 15));// 设置输入字体大小
viewText.setFont(new Font("xxx", Font.PLAIN, 15));// 设置显示区域字体大小
this.add(center, BorderLayout.CENTER);// 然后再把这个Panel添加到Frame框的中间
}
/**
* 创建Frame窗体中南边的Panel
*/
public void southPanel() {
Panel south = new Panel(); // 创建南边的Panel
TextField tf = new TextField(15);// 创建文本字段,存储IP地址
Button send = new Button("send");// 创建第一个发送按钮
Button log = new Button("log");// 创建第一个记录按钮
Button clear = new Button("clear");// 创建第一个清屏按钮
Button shake = new Button("shake");// 创建第一个震动按钮
// 先要把创建好的这些按钮和文本字段放到这个Panel里面
south.add(tf);
south.add(send);
south.add(log);
south.add(clear);
south.add(shake);
// 然后再把这个Panel添加到Frame框的南边(下边)
this.add(south, BorderLayout.SOUTH);
}
/**
* 设置关闭窗体按钮
*/
public void event() {
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new Demo04_GUI();
}
}