Swing: размер области содержимого JFrame
Я пытаюсь сделать JFrame с полезной областью содержимого ровно 500x500. Если я это сделаю...
public MyFrame() {
super("Hello, world!");
setSize(500,500);
}
... Я получаю окно с полным размером 500x500, включая строку заголовка и т.д., где мне действительно нужно окно размером, размером 504x520, для учета границы окна и заголовка. Как я могу достичь этого?
Ответы
Ответ 1
вы можете попробовать пару вещей:
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()
Ответ 2
Просто используйте:
public MyFrame() {
this.getContentPane().setPreferredSize(new Dimension(500, 500));
this.pack();
}
Там нет необходимости в JPanel, если вы просто хотите установить размер фрейма.
Ответ 3
Ничего, я понял:
public MyFrame() {
super("Hello, world!");
myJPanel.setPreferredSize(new Dimension(500,500));
add(myJPanel);
pack();
}