1.图形用户界面GUI
Java为GUI提供了两个对象存在java.Awt和javax.Swing两个包中。
Awt与Swing
java.Awt(抽象窗口工具包),需要调用本地系统方法实现功能。重量级控件
javax.Swing:在Awt的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由java实现。增强了移植性,属于轻量级控件。
2.container
为容器,是一个特殊的组件,该组件可以通过add方法添加其他组件进来。
3.布局管理器
1.容器中的组件的排放方式,就是布局
2.常见的布局管理器:
Flowlayout(流式布局管理器)
从左到右的顺序排列
Panel默认的布局管理器
Borderlayout(边界布局管理器)
东,南,西,北,中
Frame默认的布局管理器
GridLayout(网格布局管理器)
选项卡
GridBagLayout(网个包布管理器)
非规则的矩
4.事件监听机制组成
事件源,事件,监听器,事件处理
5.窗口应用实例
/*创建图形化界面
1.创建frame窗体
2.对窗体进行基本设置
大小,位置,布局
3.定义组件
4.将组件通过add方法添加到窗体中。
5.让窗体显示,通过setVisible(true)
*/
package com.itheima;
import java.awt.*;
import java.awt.event.*;
//import java.awt.ActionEvent.*;
class Test1
{
private Frame f;//窗口
private TextField tf;//文本
private Button but; //按钮
private TextArea ta;
private Dialog d;
private Label lab;
private Button okbut;
private MenuBar mb;//菜单控件
private Menu m;
Test1()
{
init();
}
public void init()
{
f=new Frame("my window");
//设置窗口
f.setBounds(300,100,600,500);
f.setLayout(new FlowLayout());
tf=new TextField(30);
but=new Button("转到");
//设置文本框长宽
ta=new TextArea(10,40);
//对话框提示信息。
d=new Dialog(f,"提示信息-self",true);
//添加窗口控件
// lab=new Lable();
okbut=new Button();//
f.add(tf);
f.add(but);
f.add(ta);
myEvent();
//添加菜单
mb=new MenuBar();
m=new Menu("文件");
mb.add(m);
f.setVisible(true);
}
private void myEvent()
{
//匿名内部类
d.addWindowListener(new WindowAdapter()
{
public void windowClosing()
{
d.setVisible(false);
}
});
but.addActionListener(new ActionListener()
{
//添加文本框输入
public void actionPerformed(ActionEvent e)
{
String text =tf.getText();
System.out.println(text);
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String args[])
{
new Test1();
}
}