2016-04-15 2 views
0

Я использую затмение
Я немного новичок в Java .. я сделал кнопки, TextField и ярлык и поместить их в JPanel - затем положить JPanel на JFrame ..Есть ли более простые способы позиционирования компонентов JFrame в Eclipse?

это было очень сложно правильно позиционировать их, потому что мне приходилось менять x, y, width, height для всех трех из них, и если бы это было не так, я должен был изменить x, y и скомпилировать & запустить и сделать все это снова, пока он не находится в правильном положении.
есть ли более простой способ разместить эти вещи или программное обеспечение для создания координат для меня?

Извините за мой английский

+4

См [выложив компонентов в контейнере] (https://docs.oracle.com/javase/tutorial/uiswing/layout/index .html) – AJNeufeld

+1

Я бы сделал шаг назад и проверил основные функции Swing, прежде чем идти слишком много дальше. Или подумайте об использовании построителя интерфейса GUI - я не помню, что (или если) Eclipse использует для этого больше. –

+0

В среде IDE NetBeans это не проблема. С затмением я не делаю Swing. –

ответ

0

Eclipse, имеет дизайн GUI инструмент под названием WindowBuilder. В зависимости от того, какой пакет Eclipse у вас есть, он может быть уже установлен. Если нет, вы можете легко добавить его в свою установку Eclipse.

Как упоминалось выше, вы должны сначала узнать больше об AWT и Swing и о том, как они обрабатывают компоновку компонентов. Суть его в не использование абсолютного позиционирования компонентов, а не use LayoutManagers.

2

Используйте диспетчер компоновки.

Например:

BorderLayout

enter image description here

Изображение графического интерфейса пользователя, который использует BorderLayout Каждая панель контента инициализируется использовать BorderLayout. (Как использование контейнеров верхнего уровня объясняет, что панель содержимого является основным контейнером во всех кадрах, апплеты и диалоги.) BorderLayout размещает компоненты в пределах до пяти областей : сверху, снизу, влево, вправо и в центре. Все дополнительное место размещено в центре. Панель инструментов, созданная с использованием JToolBar, должна быть , созданная в контейнере BorderLayout, если вы хотите иметь возможность перетаскивать бары от своих исходных позиций. Для дальнейших , подробности см. В разделе Использование BorderLayout.

...//Container pane = aFrame.getContentPane()... 
JButton button = new JButton("Button 1 (PAGE_START)"); 
pane.add(button, BorderLayout.PAGE_START); 

//Make the center component big, since that's the 
//typical usage of BorderLayout. 
button = new JButton("Button 2 (CENTER)"); 
button.setPreferredSize(new Dimension(200, 100)); 
pane.add(button, BorderLayout.CENTER); 

button = new JButton("Button 3 (LINE_START)"); 
pane.add(button, BorderLayout.LINE_START); 

button = new JButton("Long-Named Button 4 (PAGE_END)"); 
pane.add(button, BorderLayout.PAGE_END); 

button = new JButton("5 (LINE_END)"); 
pane.add(button, BorderLayout.LINE_END); 

Посмотрите на полные документы: https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

+0

попытайтесь объяснить, как использовать макеты - показать, насколько легко могут быть компоненты добавлена ​​и отлажена, что значительно повысит качество вашего ответа! –

Смежные вопросы