Swing: набор размер предметной области JFrame

Я пытаюсь сделать JFrame с применимой предметной областью точно 500x500. Если я делаю это...

public MyFrame() {
    super("Hello, world!");
    setSize(500,500);
}

... Я получаю окно, полный размер которого 500x500, включая строку заголовка, и т.д., где мне действительно нужно окно, размер которого - что-то как 504x520 для составления границы окна и строки заголовка. Как я могу достигнуть этого?

21
задан igul222 15 March 2010 в 13:42
поделиться

2 ответа

вы можете попробовать несколько вещей: 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- более портативен
26
ответ дан 16 October 2019 в 23:41
поделиться

Неважно, я понял это:

public MyFrame() {
    super("Hello, world!");

    myJPanel.setPreferredSize(new Dimension(500,500));
    add(myJPanel);
    pack();
}
7
ответ дан 16 October 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: