1. GUI
Graphical user interface(图形用户接口):用图形的方式,来显示计算机操作的界面,这样更加直观
CLI:command line User interface(命令行用户接口):常用的Dos命令行操作,需要记住一些常用的命令,操作不直观
java.awt:Abstract Window ToolKit(抽象窗口工具包):需要调用本地系统的方法实现功能,属于重量级控件
javax.swing:在AWT的基础上,建立的一套图形界面系统,提供了很多的组件,而且完全由java实现,增加了移植性,属于轻量级控件
2. Frame
public void setTitle(String s):设置窗体的标题
public void setSize(width, height):设置窗体的大小
public void setLocation(x, y):设置窗体的区域
public void setBounds(x, y, width, height):同时设置窗体的大小和所在区域
public void setVisible(true):设置窗体是否可见
public classGUIDemo {public static voidmain(String[] args){
Frame f= newFrame();//Frame f = new Frame("窗口标题");
f.setTitle("frame"); //设置窗体标题
f.setSize(400, 300); //单位:像素,设置窗体的大小
/*等同于:
* Dimension d = new Dimension(400,300);
* f.setSize(400, 300);*/f.setLocation(400,200); //设置窗体所在的区域
/*等同于
* Point p = new Point(400, 200);
* f.setLocation(p);*/
/** f.setBounds(x, y, width, height);
* 等同于:
* f.setLocation(x, y);
* f.setSize(width, height);*/f.setVisible(true);
}
}
3. 事件监听机制
事件源:事件发生的地方
事件:要发生的事情
事件处理:针对发生的事情做出的处理方案
事件监听:把事件源和事件联系起来
public classGUIDemo {public static voidmain(String[] args){
Frame f= newFrame();//Frame f = new Frame("窗口标题");
f.setTitle("frame"); //设置窗体标题
f.setSize(400, 300); //单位:像素,设置窗体的大小
/*等同于:
* Dimension d = new Dimension(400,300);
* f.setSize(400, 300);*/f.setLocation(400,200); //设置窗体所在的区域
/*等同于
* Point p = new Point(400, 200);
* f.setLocation(p);*/
/** f.setBounds(x, y, width, height);
* 等同于:
* f.setLocation(x, y);
* f.setSize(width, height);*/f.addWindowListener(newWindowListener(){
@Overridepublic voidwindowOpened(WindowEvent e) {//TODO Auto-generated method stub
}
@Overridepublic voidwindowClosing(WindowEvent e) {//TODO Auto-generated method stub
System.exit(0);
}
@Overridepublic voidwindowClosed(WindowEvent e) {//TODO Auto-generated method stub
}
@Overridepublic voidwindowIconified(WindowEvent e) {//TODO Auto-generated method stub
}
@Overridepublic voidwindowDeiconified(WindowEvent e) {//TODO Auto-generated method stub
}
@Overridepublic voidwindowActivated(WindowEvent e) {//TODO Auto-generated method stub
}
@Overridepublic voidwindowDeactivated(WindowEvent e) {//TODO Auto-generated method stub
}
});
f.setVisible(true);
}
}
4. 适配器设计模式
接口的方法比较多,也得把其他的实现也提供了,即使是空实现
解决方案:接口(方法比较多)------>适配器(实现接口,空实现)------->实现类(用哪个重写哪个)
针对上例的改进版:
f.addWindowListener(newWindowAdapter(){public voidwindowClosing(WindowEvent e) {
System.exit(0);
}
});
原文:https://www.cnblogs.com/feng-ying/p/9608994.html