GUI组件继承体系图
GUI(HelloWorld窗体案例)
import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
/**
*
* @author 作者 E-mail:
* @date 创建时间:2019年1月7日 下午8:09:00
* @version 1.0
* @parameter
* @since
* @return
*/
public class FrameDemo {
public static void main(String[] args) {
//创建窗体对象,另一个与主线程区别的线程控制创建
Frame f =new Frame();
//设置窗体标题
//通过构造函数也可以构造,例如Frame f =new Frame("HelloWorld");
f.setTitle("HelloWorld");
//设置窗体大小,单位默认为像素
//此外,f.setsize(Dimension d)也可以
//如,Dimension d=new Dimendion(400,300);f.setSize(d);
f.setSize(400, 300);
//设置窗体位置,位置是相对于电脑左上角的坐标
//此外用Point p=new Point(400,200); f.setLocation(p);也可以
f.setLocation(400, 200);
//setSize()和setLocation()可以用setBounds()代替
//如:f.setBounds(400, 200, 400, 300);
//调用方法设置窗体可见
//f.show(); JDK1.5后被setVisible()代替
//需要注意的是一般而言将该方法放于其他设置窗体的方法的后面
f.setVisible(true);
//利用事件监听机制对窗体进行关闭
//事件源
//事件:对窗体的处理(如:鼠标点击)
//事件处理:关闭窗口(System.exit(0);)
//事件监听
f.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
// TODO 自动生成的方法存根
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
// TODO 自动生成的方法存根
}
});
//System.out.println("helloworld");
}
}
GUI(适配器设计模式讲解)
UserDao.java
public abstract interface UserDao {
public abstract void add();
public abstract void delete();
public abstract void update();
public abstract void find();
}
UserDaoImpl.java
public class UserDaoImpl implements UserDao {
@Override
public void add() {
// TODO 自动生成的方法存根
System.out.println("添加功能");
}
@Override
public void delete() {
// TODO 自动生成的方法存根
System.out.println("删除功能");
}
@Override
public void update() {
// TODO 自动生成的方法存根
System.out.println("更新功能");
}
@Override
public void find() {
// TODO 自动生成的方法存根
System.out.println("查找功能");
}
}
UserDaoDemo.java
public class UserDaoDemo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
UserDao ud = new UserDaoImpl();
ud.add();
}
}
UserAdapter.java
//用抽象类实现接口,再用实现类继承该抽象类(适配器类)即可
public abstract class UserAdapter implements UserDao {
@Override
public void add() {
// TODO 自动生成的方法存根
}
@Override
public void delete() {
// TODO 自动生成的方法存根
}
@Override
public void update() {
// TODO 自动生成的方法存根
}
@Override
public void find() {
// TODO 自动生成的方法存根
}
}
UserDaoImpl2.java
public class UserDaoImpl2 extends UserAdapter {
@Override
public void add() {
super.add();
System.out.println("添加功能");
}
}
UserDaoDemo2.java
public class UserDaoDemo {
public static void main(String[] args) {
UserDao ud = new UserDaoImpl();
ud.add();
UserDao ud2 = new UserDaoImpl2();
ud2.add();
}
}
GUI事件监听机制
事件监听机制:
A:事件源 事件发生的地方
B:事件 发生的事情
C:事件处理 针对发生的事情做出的处理方案
D:事件监听 将事件源和事件关联起来
举例: 人受伤事件