Как управлять выравниванием компонентов Java / Swing GUI с помощью IDE NetBeans? - PullRequest
2 голосов
/ 11 июля 2011

Как новичок в NetBeans, я выкладываю довольно простой 2-панельный графический интерфейс с использованием NetBeans 7.0, и у меня самое безумное время, когда некоторые компоненты (JButtons, JLabels, JSlider) остаются там, где я их размещаю вмещающий JPanel!

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

Я надеюсь, что этого достаточно, чтобы кто-то, имеющий опыт, мог легко диагностировать мою проблему; в противном случае я постараюсь ответить на дополнительные вопросы.

Ответы [ 3 ]

2 голосов
/ 11 июля 2011

Вам необходимо указать LayoutManager, который вы хотите использовать в JPanel. LayoutManager по умолчанию - FlowLayout, который отвечает за поведение, которое вы испытываете. Вы можете попробовать GridBagLayout или BoxLayout для большего контроля над расположением компонентов.

1 голос
/ 11 июля 2011

Рекомендуется ознакомиться со спецификациями макета и узнать, как все это сочетается друг с другом, прежде чем использовать GUI Builder.Вы можете использовать свой Netbeans в качестве сложного редактора с доработкой файлов и отладчиком и писать свой первый код Swing в обычных классах, пока вы не поймете все.

Тогда вы лучше оцените возможности инструмента.

NetBeans предоставляет вам макет Free-Design по умолчанию, который очень просто использовать графически, и хотя сгенерированный код довольно странный, хорошая новость заключается в том, что вам никогда не придется иметь с ним дело.

Вы можете добавить границы на свои панели, чтобы видеть поведение при перетаскивании компонентов и изменении размера панелей.

0 голосов
/ 13 июля 2011

Сначала вы меняете свойство Resizable этой кнопки на false. по умолчанию это правда. для этого нажмите кнопку, в правой части окна Properties вы найдете это свойство в группе Layout. Также убедитесь, что якорь сделан правильно. Иногда компонент, который вы добавляете на левую сторону, может быть привязан к правой или верхней / нижней части. Для этого щелкните правой кнопкой мыши на кнопке и перейдите в «якорь» и выберите соответствующее значение. Надеюсь, это поможет вам.

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