我正在制作一个简单的圣经阅读器,我希望有一个全屏选项。默认情况下,帧最大化,但框架在那里。我有一个删除装饰的方法setFullScreen
。但是,它在初始化后似乎没有更新。有办法解决这个问题吗?
setFullScreen
方法:
public void setFullScreen() {
mainFrame.setUndecorated(true);
}
main
方法的一部分
UI book = new UI();
book.setLabelText(1);
book.setFullScreen();
与此同时,setLabelText
的行为也会相似;一旦我第一次设置它,我就无法改变它。
答案 0 :(得分:6)
方法setUndecorated()
只能在框架不是可显示时使用。你可以做的是通过调用dispose()
使你的框架不能可显示。
您的方法setFullScreen()
可能如下所示:
public void setFullScreen() {
mainFrame.dispose();
mainFrame.setUndecorated(true);
mainFrame.setVisible(true);
}
根据您的相框内容,您可能需要明确处理pack()
和/或setSize()
以获得最佳效果。
顺便说一句,如果您希望它始终是全屏/未修饰的,您可以简单地确保在使框架可显示之前调用mainFrame.setUndecorated(true)
。框架可通过show()
,pack()
和setVisible(true)
等方式显示。