2017-10-16 178 views
-1

我一直試圖在java中使用JFrame以全屏模式顯示圖像,但是我無法使其工作。在java中以全屏顯示圖像

當我創建的這個新對象白色的窗口在全屏模式打開,但圖像沒有得到顯示:

import java.awt.GraphicsDevice; 
import java.awt.GraphicsEnvironment; 
import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 

public class DisplayManager { 

    private JFrame jf; 

    public DisplayManager() { 

     //jframe 
     jf = new JFrame(); 
     jf.setExtendedState(JFrame.MAXIMIZED_BOTH); 
     jf.setUndecorated(true); 
     jf.setVisible(true); 
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
     GraphicsDevice device = env.getDefaultScreenDevice(); 
     device.setFullScreenWindow(jf); 

     jf.add(new JLabel(new ImageIcon("E:/NetBeansProjects/Project/res/Test.png"))); 

    } 

} 
+0

如果您不使用全屏模式,它會顯示嗎? – Kayaman

+1

[在Java Swing中顯示圖像]的可能的副本(https://stackoverflow.com/questions/8333802/displaying-an-image-in-java-swing) – pvg

+0

如果我刪除device.setFullScreenWindow(jf);沒有出現。編輯:當我刪除GraphicsEnvironment的東西和jf.setUndecorated(true);一個白色的窗口打開。當我調整這個窗口的大小時,圖像顯示出來:/ – Marcus

回答

0

組件的默認大小爲(0,0),所以有除非已經調用佈局管理器來給組件一個大小和位置,否則不需要繪畫。

組件需要被添加到框架之前框架是可見的。

+0

哦,哇。我現在感到很蠢。我只需要調用jf.setVisible(true);添加圖像後。謝謝 :) – Marcus