한 가지 방법은 확장 상태를 사용하는 것입니다. 이것은 기본 OS에 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 와 관련된 복잡한 문제가 있습니다 . 그러니 조심하세요. 도움이 되었기를 바랍니다.