JFrame
带有隐藏或没有最大化按钮,但应该能够使用鼠标重新调整大小(单击并拖动jFrame
边框)。setResizable(false)
仅禁用最小化按钮,但无法使用鼠标重新调整大小。
问问题
6832 次
3 回答
2
我个人想不出允许调整大小而不允许最大化的理由,但这里有一个示例,说明如何在允许调整大小和最小化的同时防止最大化 JFrame。在 windows 中测试,在所有其他平台上未经测试。使用 setMaximizedBounds() 最小化全屏闪烁。
final JFrame jFrameNoMax = new JFrame() {
{
setMaximizedBounds(new Rectangle(0, 0));
addWindowStateListener(new WindowStateListener() {
public void windowStateChanged(final WindowEvent e) {
if (e.getNewState() == MAXIMIZED_BOTH) {
setExtendedState(NORMAL);
}
}
});
}
};
// Tester
jFrameNoMax.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrameNoMax.setSize(300, 300);
jFrameNoMax.setLocation(300, 300);
jFrameNoMax.setVisible(true);
于 2013-03-12T05:52:08.253 回答
0
一种选择可能是使用 aJDialog
而不是 a JFrame
。这允许窗口可以手动调整大小但不能最大化。这样做的唯一问题是您丢失了最小化和最大化按钮。这对您的应用程序可能是也可能不是问题。
于 2013-03-12T04:10:19.667 回答