Java初学gui

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
        
    }
    
}

猜你喜欢

转载自www.cnblogs.com/lzq-java/p/9804803.html
今日推荐