2 lhs472194266 lhs472194266 于 2015.06.02 12:33 提问

JFrame中setMaximumSize失效的原因,以及getMinimumSize()重写的困惑 5C
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Test03 {
    public static void addComponents(Container contentPane) {
        contentPane.setLayout(new FlowLayout());
        contentPane.add(new JButton("Button 1"));
        contentPane.add(new JButton("Button 2"));
        contentPane.add(new JButton("Button 3"));
        contentPane.add(new JButton("long-name Button 4"));
        contentPane.add(new JButton("5"));
    }
    private static void createAndShowGUI() {
        JFrame.setDefaultLookAndFeelDecorated(true);                
        JFrame frame = new JFrame("FlowLayout Demo") {
            @Override
            public Dimension getMinimumSize() {
                return new Dimension(100, 100);
            }
        };
        frame.setMinimumSize(new Dimension(200,200));
        frame.setMaximumSize(new Dimension(300,300));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        addComponents(frame.getContentPane());
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        createAndShowGUI();
    }
}

第一个问题(仅有这两句设置大小代码时):设置最小大小frame.setMinimumSize(new Dimension(200,200));可以实现。frame.setMaximumSize(new Dimension(300,300));什么原因导致无效的?

第二个问题(当重写public Dimension getMinimumSize() 时),如果没有frame.setMinimumSize(new Dimension(200,200)); 或者JFrame.setDefaultLookAndFeelDecorated(true);  其中的一句。 也无法成功设置,这又是为什么?
这问题困惑我多日了,求指导。。以往的认识是get是获取属性,如今怎么会涉及到可以修改属性了!实在搞不懂!具体导致的原理是什么?

1个回答

lhs472194266
lhs472194266   2015.06.12 21:33

怎么没人回答啊,!!!!!!!

Csdn user default icon
上传中...
上传图片
插入图片