NetBeans (Java Swing): установить размер окна - PullRequest
7 голосов
/ 19 декабря 2009

Это сводит меня с ума. Когда я устанавливаю подходящий размер для моего окна в режиме конструктора, он просто игнорирует этот размер и использует что-то еще, когда я компилирую и запускаю. Даже если я установил минимальный размер и предпочтительный размер, он просто игнорирует это ... Почему? Как я могу установить свой собственный размер?

Ответы [ 3 ]

6 голосов
/ 19 декабря 2009

Даже если вы установили размер с помощью minimumSize и preferredSize, вы, возможно, забыли вызвать Window.pack(), в котором Swing изменит размеры компонентов (и всех его подкомпонентов) в соответствии с к установленным размерам.

Вы вызываете его в своем окне (или в любом другом месте, где вы его строите) после того, как все предпочтительные размеры установлены.

В качестве альтернативы вы можете использовать метод Component.setSize(), но он поставляется с некоторыми оговорками .

1 голос
/ 19 декабря 2009

Вы проверили, действительно ли вы устанавливаете размер JFrame или вложенного JPanel?

Вы пробовали setSize?

0 голосов
/ 03 декабря 2013

Я оказался в подобной ситуации, когда использовал netbeans ide. Я прочитал следующую ветку, которая помогла:

http://forums.netbeans.org/ptopic28011.html

Похоже, что среда приложения Swing сохраняет размер окна приложения в подпапке в вашем домашнем каталоге (для Windows - папка «Данные приложения», для Linux - в вашей домашней папке «~ /»).

Например, для моего приложения «CrapApp» Swing сохранил некоторую информацию о размере последнего окна в подпапке «~ / .CrapApp /», в файл с именем «mainFrame.session.xml».

Поэтому независимо от того, как я изменил размеры окна в конструкторе, при запуске оно, похоже, игнорировало его и вместо этого загружало размер окна из настроек в этой подпапке.

Поэтому я решил удалить эту подпапку сохраненных настроек, например, в моем случае, "rm -rf ~ / .CrapApp /"

Тогда проблема исчезла, и я мог изменить размеры в конструкторе и запустить приложение с этим видимым окном, теперь видимым.

Это заставило меня захотеть узнать, что вызвало эту проблему. Я заметил, что простой запуск приложения в netbeans ide и его закрытие не создает подпапку.

После небольшого изменения моего приложения я заметил, что следующее действие вызвало создание этой подпапки "~ / .CrapApp /".

  1. Переход в раздел "Помощь >> О приложении" моего приложения
  2. Нажмите кнопку «Закрыть» в появившемся диалоговом окне
  3. Выход из приложения

И теперь вновь появляется подпапка «~ / .CrapApp /». Этот диалог справки / о программе был автоматически сгенерирован NetBeans Ide, так что я не очень-то возился с ним, но, похоже, это был виновник в моем случае.

Возможно, это может быть ошибка в NetBeans Ide, я использую несколько старую версию (v6.8), которая, похоже, тоже относится к эпохе вашего первоначального поста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...