0

これは、JFrameをフルスクリーンモードに設定する方法です:

//set full screen            

frame.dispose();
frame.setUndecorated(true);
screenDevice.setFullScreenWindow(frame);
frame.setVisible(true);

//reset to window mode

frame.dispose();
screenDevice.setFullScreenWindow(null);
frame.setUndecorated(false);
frame.setVisible(true);

しかし、設定ダイアログのようなダイアログを表示すると、ダイアログとフルスクリーンフレームの両方が焦点を失い、画面上に消えます。次に、タスクバー アイコンをクリックしてフォーカスを取得する必要があります。

この問題を解決するには?ありがとうございました。

編集:

このフル スクリーン ウィンドウのメニュー バーに JMenuItem がある場合、次のように menuitem をクリックして設定 JDialog を表示するとします。

settingsMenuItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        settingsDialog.showSettingsDialog();
    }
});

全画面表示モードでは、settingsDialog と全画面表示が画面に表示されません。ウィンドウモードでは正常に動作します。

4

2 に答える 2

3

これを使用しない理由を設定JFrameしたい場合:maximized

frame.setExtendedState(Frame.MAXIMIZED_BOTH); 
于 2012-09-02T05:03:17.170 に答える
1
JFrame frame = new JFrame();   
GraphicsDevice window = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0]; 

//The number in the brackets decides what monitor the window gets "full-screened" to. 0 is the first, 1 is the second, ect.         
frame.setUndecorated(true);    
window.setFullScreenWindow(frame);    
frame.setVisible(true);    
frame.requestFocus();
于 2012-12-31T15:00:07.867 に答える