Я пытаюсь сделать JFrame с применимой предметной областью точно 500x500. Если я делаю это...
public MyFrame() {
super("Hello, world!");
setSize(500,500);
}
... Я получаю окно, полный размер которого 500x500, включая строку заголовка, и т.д., где мне действительно нужно окно, размер которого - что-то как 504x520 для составления границы окна и строки заголовка. Как я могу достигнуть этого?
вы можете попробовать несколько вещей: 1 - взлом:
public MyFrame(){
JFrame temp = new JFrame;
temp.pack();
Insets insets = temp.getInsets();
temp = null;
this.setSize(new Dimension(insets.left + insets.right + 500,
insets.top + insets.bottom + 500));
this.setVisible(true);
this.setResizable(false);
}
2- или Добавьте JPanel на панель содержимого фрейма и Просто установите предпочтительный / минимальный размер JPanel до 500X500, call pack ()
Неважно, я понял это:
public MyFrame() {
super("Hello, world!");
myJPanel.setPreferredSize(new Dimension(500,500));
add(myJPanel);
pack();
}