的一種方法是使用擴展狀態。這要求底層操作系統最大化JFrame。
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
其他方法是手動最大化屏幕爲您的要求。
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(100, 100, (int) dim.getWidth(), (int) dim.getHeight());
setLocationRelativeTo(null);
但是這在Ubuntu OS中有缺陷。我發現的工作就是這樣。
if (SystemHelper.isUnix()) {
getContentPane().setPreferredSize(
Toolkit.getDefaultToolkit().getScreenSize());
pack();
setResizable(false);
show();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Point p = new Point(0, 0);
SwingUtilities.convertPointToScreen(p, getContentPane());
Point l = getLocation();
l.x -= p.x;
l.y -= p.y;
setLocation(p);
}
});
}
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(100, 100, (int) dim.getWidth(), (int) dim.getHeight());
setLocationRelativeTo(null);
在Fedora中上述問題不存在。但是Gnome或KDE涉及併發症。所以最好小心。希望這可以幫助。
您需要定義「全屏」。隨着下面的答案,你可能要考慮框架是否應該裝飾(包括標題欄和邊框)。除非您正在執行自定義繪畫,否則不會重新縮放。如果您使用普通的Swing組件和佈局管理器,則應該會發現佈局會調整爲新的屏幕分辨率。當然,你會想測試它;) – MadProgrammer 2012-07-20 00:17:35
你想使用獅子全屏? – LanguagesNamedAfterCofee 2012-07-20 02:39:26