我遇到了问题,为触摸屏GUI应用程序创建了一个固定大小的整体面板,该面板必须占用整个屏幕。简而言之,触摸屏的尺寸为800 x 600像素,因此我希望主GUI面板具有这样的尺寸。
当我在NetBeans中启动一个新的GUI项目时,我将主面板的属性设置为最小/最大/首选大小为800 x 600,并且“设计”视图中的面板会更改大小。但是,当我启动应用程序时,它会调整为原始默认大小。
在initComponents()之后添加此代码没有帮助:
this.mainPanel.setSize(new Dimension(800,600));
this.mainPanel.setMaximumSize(new Dimension(800,600));
this.mainPanel.setMinimumSize(new Dimension(800,600));
this.mainPanel.repaint();
我已经查看了所有的资源文件,似乎找不到覆盖这些资源的值(这似乎有点不可能,因为我在initComponents()完成其工作后设置它们)。我正在使用FreeDesign布局,因为我希望完全控制放置内容的位置。
我怀疑布局管理器根据我在屏幕上显示的窗口小部件来调整大小,因为不同的原型屏幕有不同的大小。
非常感谢帮助!
答案 0 :(得分:1)
您是否尝试过java full screen mode?
答案 1 :(得分:0)
我使用此方法来完成任务,不确定它是否最好,您需要等待调用它,直到帧实际出现在屏幕上。
protected void growBig()
{
int screenWidth = java.awt.Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = java.awt.Toolkit.getDefaultToolkit().getScreenSize().height;
Rectangle rectangle = getFrame().getBounds();
rectangle.setSize(screenWidth, screenHeight);
getFrame().setBounds(0, 0, screenWidth, screenHeight);
getFrame().setSize(screenWidth, screenHeight);
getFrame().doLayout();
getFrame().validate();
updateUI();
}
答案 2 :(得分:0)
我不确定您的触摸屏设备是如何工作的。但是如果你使用Netbeans预览,那么你的面板会放在一些外部容器中,比如JFrame / JWindow。也许你可以将帧设置为800x600。
如果是这样,那么问题可能是框架为自己的边框吃了几个像素,让你的面板尺寸< 800×600。在这种情况下,您的面板将无法使用您的最小/最大设置并恢复为默认大小。