1. 不允许改变窗口大小
2. 使窗口的最大化、最小化、关闭按钮无效
3. 窗口内的组件根据窗口的大小而改变大小:各组件有没有方法自适应窗口大小?如果没有,怎样响应窗口大小改变的事件?
4. 窗口有哪些事件,比如最大化、最小化、改变大小、关闭、获得焦点、失去焦点?如何响应?

解决方案 »

  1.   

    public class MyFrame extends javax.swing.JFrame implements java.awt.event.WindowListener{
      public MyFrame(){
        this.setResizable(false);
        this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        this.addWindowListener(this);
        this.setSize(600,450);
        this.setLocation(120,80);
        this.setVisible(true);
      }    public void windowOpened(WindowEvent e) {}    public void windowClosing(WindowEvent e) {//关闭窗口时作的处理
            //System.exit(0);
        }    public void windowClosed(WindowEvent e) {}    public void windowIconified(WindowEvent e) {}//最小化    public void windowDeiconified(WindowEvent e) {}//恢复    public void windowActivated(WindowEvent e) {}    public void windowDeactivated(WindowEvent e) {}
    }
      

  2.   

    窗口适应组件大小:frame.pack();
      

  3.   

    1. 不允许改变窗口大小 
    frame.setResizable(false);2. 使窗口的最大化、最小化、关闭按钮无效 
    没发现合适的方法
    或者
    setUndecorated(true);
    或者改用JDialog3. 窗口内的组件根据窗口的大小而改变大小:各组件有没有方法自适应窗口大小?如果没有,怎样响应窗口大小改变的事件? 
    有了Layout就能自适应this.addComponentListener(new ComponentAdapter() {
        public void componentResized(ComponentEvent e) {
         // do something according to the resize event
        }
    });4. 窗口有哪些事件,比如最大化、最小化、改变大小、关闭、获得焦点、失去焦点?如何响应?
    WindowListener接口中定义的那些方法 如非活动窗口,最小化状态恢复正常状态等
    通过注册listener来响应