【发布时间】:2012-10-20 13:28:34
【问题描述】:
是否可以为 JFrame 设置固定宽度?至少以下代码不起作用:
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JFrame;
public final class Main {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500, 500);
f.setMinimumSize(new Dimension(500, 0));
f.setMaximumSize(new Dimension(500, Integer.MAX_VALUE));
f.setVisible(true);
}
});
}
}
最小设置有效,但最大无效。
【问题讨论】:
-
对于BorderLayout(在API中实现)无法设置MaximumSize,
-
为什么?另请参阅有关可用性的警告example。
-
你可以使用
f.setResizable(false);