调用JFrame 中的setResizable()
例如:
      JFrame f = new JFrame("Fixed size");
      f.seResizable(false);
     此时窗体最大化按钮不显示或无效
通过程序代码仍然可以改变大小,此限制只是用于用户。

解决方案 »

  1.   

    ? f.seResizable(false);之后就不能改变大小了
      

  2.   

    事实就是如此
    no reasonplease write a programme to prove it
      

  3.   

    这个问题号解决,先f.seResizable(true);改变后在f.seResizable(false);不就得了
      

  4.   

    你seResizable(false);然后做2个Button,一个是增大,一个缩小。你又不想让它最大化,又想能够Resize,这本身有点矛盾呀。
      

  5.   

    我只是想用户点击最大化后没有动作,但是可以手动拖大拖小Frame, :) 请教了
      

  6.   

    目前我还实现不了手动拖大拖小Frame
    我写了个通过程序代码改变窗体大小的程序
    注意45行代码调用:f.setResizable(false);代码如下:import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class SimpleFrameTest implements ComponentListener 
    {  
        public void componentMoved(ComponentEvent e) {
    Component c = e.getComponent();
    Point p = c.getLocation();
    System.out.println("Component moved to (" + p.x + ", "
    + p.y + ")");
    } public void componentResized(ComponentEvent e) {
    Component c = e.getComponent();
    Dimension d = c.getSize();
    System.out.println("Component resized: width " + d.width +
    ", height " + d.height);
    } public void componentShown(ComponentEvent e) {
    System.out.println("Component made visible");
    } public void componentHidden(ComponentEvent e) {
    System.out.println("Component made invisible");
    }
        
    public static void main(String[] args)
        {  
            JFrame f = new JFrame("Simple frame test");
            f.setSize(300, 200);
    f.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt) {
    System.exit(0);
    }
    });

    f.setVisible(true);
            f.setResizable(false);
            
    try {
    Thread.sleep(5000); // Delay a bit
    f.getContentPane().setLayout(null);
    Thread.sleep(5000); // Delay a bit
    f.setSize(100, 100); // Change size
    Thread.sleep(5000); // Delay a bit
    f.setSize(200, 200); // Move ourselves
    Thread.sleep(5000); // Delay a bit
    Thread.sleep(5000); // Delay a bit
    f.setSize(300, 400); // Move ourselves
    Thread.sleep(5000); // Delay a bit
    f.setSize(600, 600); // Change size
    Thread.sleep(5000);     // Delay a bit
                f.setSize(800, 800);            } catch (Exception e) {
    System.out.println(e);
    } System.exit(0);
    }
    }
    代码如下:import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class SimpleFrameTest implements ComponentListener 
    {  
        public void componentMoved(ComponentEvent e) {
    Component c = e.getComponent();
    Point p = c.getLocation();
    System.out.println("Component moved to (" + p.x + ", "
    + p.y + ")");
    } public void componentResized(ComponentEvent e) {
    Component c = e.getComponent();
    Dimension d = c.getSize();
    System.out.println("Component resized: width " + d.width +
    ", height " + d.height);
    } public void componentShown(ComponentEvent e) {
    System.out.println("Component made visible");
    } public void componentHidden(ComponentEvent e) {
    System.out.println("Component made invisible");
    }
        
    public static void main(String[] args)
        {  
            JFrame f = new JFrame("Simple frame test");
            f.setSize(300, 200);
    f.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt) {
    System.exit(0);
    }
    });

    f.setVisible(true);
            f.setResizable(false);
            
    try {
    Thread.sleep(5000); // Delay a bit
    f.getContentPane().setLayout(null);
    Thread.sleep(5000); // Delay a bit
    f.setSize(100, 100); // Change size
    Thread.sleep(5000); // Delay a bit
    f.setSize(200, 200); // Move ourselves
    Thread.sleep(5000); // Delay a bit
    Thread.sleep(5000); // Delay a bit
    f.setSize(300, 400); // Move ourselves
    Thread.sleep(5000); // Delay a bit
    f.setSize(600, 600); // Change size
    Thread.sleep(5000);     // Delay a bit
                f.setSize(800, 800);            } catch (Exception e) {
    System.out.println(e);
    } System.exit(0);
    }
    }
      

  7.   

    先f.seResizable(false);
    之后根据用户触发的事件判断变化seResizable(false);or seResizable(true);
    就OK了!