是否可以为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);
}
});
}
}
最小设置正在运行,但最大值不是。
答案 0 :(得分:16)
在代码中使用f.setPreferredSize(new Dimension(500, 500));
。
绝对阅读这篇文章:Java: Difference between the setPreferredSize() and setSize() methods in components
并且为了防止您的框架增长或缩小,请使用f.setResizable(false);
答案 1 :(得分:2)
设置大小,然后输入:
JFrame.setResizable(false);
答案 2 :(得分:0)
只需将最大值设置为您要指定的值即可。 取决于......屏幕尺寸的最大值 或我们自己的值而不是Integer.MAX_VALUE
答案 3 :(得分:0)
你可以使用
Rectangle rc = f.getBounds();
rc.width = 500; //set max width
rc.height = Integer.MAX_VALUE; // set max height
f.setMaximizedBounds(rc);
希望它对您有用