GUI组件继承体系图

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:事件监听   将事件源和事件关联起来

举例: 人受伤事件

发布了33 篇原创文章 · 获赞 1 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/futurech/article/details/86027410