java jframe全屏_Java-将JFrame设置为全屏时,屏幕变黑
我試圖在畫布上繪制一些東西,將其添加到JFrame,然后將此JFrame設置為“全屏”.我的問題是:在全屏模式下,我只會看到黑屏.
在屏幕變黑之前,我很快就能看到畫布的粉紅色背景.
直接在JFrame上繪制,然后將其設置為全屏,效果很好,我可以看到測試文本.我假設正確顯示畫布存在問題.
這是我的代碼:
public class FullscreenTest extends Canvas {
private JFrame mainFrame;
public FullscreenTest(){
this.mainFrame = new JFrame();
JPanel contentPane = (JPanel) mainFrame.getContentPane();
contentPane.add(this);
}
public void run(DisplayMode dm){
setBackground(Color.PINK);
setForeground(Color.WHITE);
setFont(new Font("Arial", Font.PLAIN, 24));
Screen s = new Screen();
s.setFullScreen(dm, this.mainFrame);
try {
Thread.sleep(5000);
} catch (InterruptedException exc) { exc.printStackTrace(); }
s.closeFullScreenWindow();
}
public void paint(Graphics g){
g.drawString("This is some testtext", 200, 200);
}
public static void main(String[] args){
DisplayMode dm = new DisplayMode(800, 600, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
FullscreenTest test = new FullscreenTest();
test.run(dm);
}
}
這是Screen.setFullScreen(DisplayMode dm,JFrame window)方法的作用:
//graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment()
// .getDefaultScreenDevice();
public void setFullScreen(DisplayMode dm, JFrame window){
window.setUndecorated(true);
window.setResizable(false);
graphicsDevice.setFullScreenWindow(window);
if(dm != null && graphicsDevice.isDisplayChangeSupported()){
graphicsDevice.setDisplayMode(dm);
}
}
有誰知道為什么我無法全屏顯示JFrame的內容?
總結
以上是生活随笔為你收集整理的java jframe全屏_Java-将JFrame设置为全屏时,屏幕变黑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 著名经济学家厉以宁先生逝世 北大光华管理
- 下一篇: java 兼容excel_Java解析E