不幸的是,我不能說你是如何實現全屏應用的。但是,我嘗試了一些東西,這個想出了:
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Gui extends JFrame {
public Gui() {
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//this.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
// Set some charateristics of the frame
this.setExtendedState(Frame.MAXIMIZED_BOTH);
this.setBackground(Color.black);
this.setUndecorated(true);
JButton a = new JButton("PRESS ME!");
a.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser fc = new JFileChooser();
fc.showOpenDialog(getParent());
}
});
this.add(a);
this.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Gui();
}
});
}
}
注重事實,我創建了一個新的JFileChooser與當前的JFrame作爲參數的父。
編輯: 我現在甚至試圖設置
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(new Gui());
並沒有
this.setUndecorated(true);
它爲我工作(有一個不錯的全屏視圖和JFileChooser的是在前面) 。我相信窗口裝飾的問題與我的窗口管理器(我使用linux和gnome)相關聯。
希望這個解決方案對你有用,如果沒有的話: 你能解釋一點點,你如何創建全屏應用?
爲什麼'setExtendedState(JFrame.MAXIMIZED_BOTH)'而不是? – trashgod
因爲最大化的窗口不是全屏窗口 - Windows任務欄在那裏,我不想要它 – bagage
我很少使用全屏幕,從來沒有注意到這種效果。您可以編輯您的問題以闡明需求,確定目標平臺,幷包含顯示您當前方法的[最小,完整,測試和可讀示例*](http://stackoverflow.com/help/mcve)。 – trashgod