2013-11-14 37 views
0

一切都是黑色的。全屏窗口無法看到我的窗口

btnFullScreen.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent event) { 
       GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
       GraphicsDevice gd = ge.getDefaultScreenDevice(); 
       if (gd.isFullScreenSupported()) { 
        gd.setFullScreenWindow(frame); 
       } 
      } 
     }); 
+1

爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –

回答

1
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
       GraphicsDevice gd = ge.getDefaultScreenDevice(); 
       if (gd.isFullScreenSupported()) { 
        gd.setFullScreenWindow(frame); 
       } 

gd.setFullScreenWindow(frame);功能需要的幀不是這個函數調用之前可見:

documentation

當進入全屏模式,如果該窗口被用作 全屏窗口不可見,此方法將使其可見。 返回窗口模式時,它將保持可見狀態。

當進入全屏模式時,窗口將重置所有半透明效果 。其形狀設置爲空,不透明度值設置爲 1.0f,背景色alpha設置爲255(完全不透明)。返回到窗口模式時,這些值不會恢復。

它是未指定的和平臺相關的裝飾窗口如何在全屏模式下操作 。因此,建議使用 setUndecorated方法關閉幀或對話框對象中的裝飾。

什麼是錯的:jFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);

編輯:演示支持我的要求,這就是我們所說的SSCCE 我有一個按鈕太多,框架最小化到按鈕的尺寸。點擊按鈕可以看到setExtendedState(JFrame.MAXIMIZED_BOTH)功能的動作。

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

class MyWindow extends JFrame 
{ 
    int width=GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().width; 
    int height=GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().height; 
    public MyWindow() 
    { 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JButton button = new JButton("Click Me"); 
     button.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       setExtendedState(JFrame.MAXIMIZED_BOTH); 
      } 
     }); 

     add(button); 
     pack(); 

    } 

    public static void main(String[] args) 
    { 
     new MyWindow().setVisible(true); 

    } 
} 

編輯:從您下面的評論:

是的,但我想全屏,因爲我的應用程序已經獲得要 最大化。

您可能是在功能:jFrame.setUndecorated(true);,這將刪除標題欄和所有使幀包含全屏。

+0

如何做到這一點? – Esley

+0

當問題被問到時,我去找那個方法上的JavaDocs,但分心了。 +1不僅用於提供答案,還用於指向'setExtendedState'的指針。 –

+0

*「怎麼做?」*什麼'那'?請明確點。 –