package guiDemo; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import com.sun.org.apache.xalan.internal.xsltc.compiler.sym; public class FrameDemo { public static void main(String[] args) { Frame f = new Frame("我是一个窗口"); f.setSize(500, 400);//设置窗口的尺寸 f.setLocation(300, 50);//设置初始窗口的位置距离屏幕左上角 0,0 //f.setIconImage(Toolkit.getDefaultToolkit().createImage("图片路径"));//设置窗口的图标 //窗体默认是便捷布局 管理器 东南西北中方位填充 f.setLayout(new FlowLayout());//设置窗体为流布局管理器, 从左到右依次排放 Button b1 = new Button("按钮1");//创建一个按钮 Button b2 = new Button("按钮2");//创建一个按钮 Button b3 = new Button("按钮3");//创建一个按钮 Button b4 = new Button("按钮4");//创建一个按钮 Button b5 = new Button("按钮5");//创建一个按钮 f.add(b1);f.add(b2);f.add(b3);f.add(b4);f.add(b5);//添加按钮到布局管理器 //添加按钮到五个方位 边界布局管理器才行 /* f.add("Center", b1); f.add("East", b2); f.add("North", b3); f.add("West", b4); f.add("South", b5);*/ /** * 鼠标监听 MouseListener MouseAdapter */ //给按钮加上鼠标监听 /*b1.addMouseListener(new MouseAdapter() { //当点击按钮1鼠标释放时关闭窗口, @Override public void mouseReleased(MouseEvent e) { System.exit(0); } });*/ /* b2.addMouseListener(new MouseAdapter() { 如果设置成点击关闭可能会出现bug, @Override public void mouseClicked(MouseEvent e) { System.exit(0); } });*/ /** * 键盘监听KeyListener KeyAdapter */ //给按钮加上键盘监听 b1.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { System.out.println(e.getKeyCode()); if(e.getKeyCode() == KeyEvent.VK_SPACE) {//按空格推出在按钮上添加 System.exit(0); } } }); /** * 动作监听 addActionListener 只有一个方法不需要加适配器 */ b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("我被添加了动作,点击我啊!快点击我"); } }); //给窗体加上 监听 //f.addWindowListener(new MyWindowsListener());//自定义类实现windowsListener太浪费资源所以使用适配器模式 f.addWindowListener(new WindowAdapter() {//匿名对象重写 windowAdater 的方法实现点击关闭窗口 public void windowClosing(WindowEvent e) { System.out.println("窗口已关闭"); System.exit(0); } }); f.setVisible(true);//初始窗口默认不可见,要使用此方法设置可见 } } class MyWindowsAdapter extends WindowAdapter{ /** * 重写closing方法实现点击关闭窗体 */ @Override public void windowClosing(WindowEvent e) { System.exit(0); } } class MyWindowsListener implements WindowListener{ @Override public void windowOpened(WindowEvent e) { System.out.println("windowOpened"); } @Override public void windowClosing(WindowEvent e) { System.out.println("Cloising"); System.exit(0); } @Override public void windowClosed(WindowEvent e) { System.out.println("Closed"); } @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub } }
Java初学gui
猜你喜欢
转载自www.cnblogs.com/lzq-java/p/9804803.html
今日推荐
周排行