Một cách là sử dụng Trạng thái Mở rộng. Điều này yêu cầu hệ điều hành bên dưới tối đa hóa JFrame.
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
Cách tiếp cận khác sẽ là tối đa hóa màn hình theo cách thủ công theo yêu cầu của bạn.
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(100, 100, (int) dim.getWidth(), (int) dim.getHeight());
setLocationRelativeTo(null);
Nhưng điều này có những cạm bẫy trong hệ điều hành Ubuntu. Công việc xung quanh tôi tìm thấy là thế này.
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, vấn đề trên không hiện hữu. Nhưng có những phức tạp liên quan đến Gnome hoặc KDE . Vì vậy, tốt hơn hãy cẩn thận. Hi vọng điêu nay co ich.