zoukankan      html  css  js  c++  java
  • java事件处理5(窗口,窗口坐监视器

    WindowEvent窗口事件

    添加接口

    addWindowListener(WindowEvent e)

    接口有七个方法

    public void windowActivated(WindowEvent e)//非激活到激活
    public void windowDeactivated(WindowEvent e)//激活到非激活
    public void windowClosing(WindowEvent e)//正在被关闭
    public void windowClosed(WindowEvent e)//关闭后
    public void windowIconified(WindowEvent e)//图标化
    public void windowDeiconified(WindowEvent e)//撤销图标化
    public void WindowOpened(WindowEvent e)//窗口打开

    老实讲上面的方法我也不太清楚什么时候调用,写起来又麻烦

    java陪了一个WindowAdapter适配器给我们

    WindowAdapter类实现了WindowListener接口的全部方法,我们自己需求的方法只要重写就好

    所以我们只需继承WindowAdapter不需要自己实现啦WindowListener啦

    class WinPolice extends WindowAdapter{
        public void  windowClosing(WindowEvent e){
            System.out.println("11");
        }
    }

    窗口坐监视器

    不用把组件作为参数组合进去,不过程序大的时候容易乱

    写窗口的时候实现需要的监视器

    class MyWin extends JFrame implements ActionListener{

    然后就可以直接在类里面写方法

    public void actionPerformed(ActionEvent e)

    写个猜数字的测试代码

    class MyWin extends JFrame implements ActionListener{
        int number;
        JTextField text1;
        JButton button1,button2;
        JLabel label1;
        MyWin(){
            init();
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        void init(){
            setLayout(new FlowLayout());
            button1=new JButton("get a ranbow number");
            button2=new JButton("go");
            label1=new JLabel("ready");
            text1=new JTextField(8);
            add(button1);
            add(label1);
            add(text1);
            add(button2);
            button1.addActionListener(this);
            button2.addActionListener(this);
        }
        public void actionPerformed(ActionEvent e){
            if(e.getSource() ==button1){
                number=(int) (Math.random()*10)+1;
                System.out.println(number);
                label1.setText("guess");
            }
            if(e.getSource()==button2){
                int t=Integer.parseInt(text1.getText());
                System.out.println(t);
                if(t<number){
                    label1.setText("bigger");
                    text1.setText(null);
                }else if(t>number){
                    label1.setText("smaller");
                    text1.setText(null);
                }else
                    label1.setText("bigo is "+number);
                
            }
            
        }
        
    }
  • 相关阅读:
    计算子网掩码中存在的主机数
    IP相关常识
    IP子网掩码划分及设置
    spark的外排:AppendOnlyMap与ExternalAppendOnlyMap
    Struts2+JSON数据
    Spark -14:spark Hadoop 高可用模式下读写hdfs
    log4j 日志 配置 学习
    flume的memeryChannel中transactionCapacity和sink的batchsize需要注意事项
    Python画图matplotlib展示图中中文乱码
    Python pycharm(windows版本)部署spark环境
  • 原文地址:https://www.cnblogs.com/vhyc/p/5995935.html
Copyright © 2011-2022 走看看