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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?