Haisen大王 2015-06-02 04:33 采纳率: 50%
浏览 2328
已结题

JFrame中setMaximumSize失效的原因,以及getMinimumSize()重写的困惑

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条回答

  • Haisen大王 2015-06-12 13:33
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏