2013-12-04 4 views
1

Могу ли я комбинировать макеты Java в одном JPanel. Я застрял с размещением своих компонентов на JPanel. Это будет так: JLabel, JButton, JButton, JLabel и новая строка и то же самое. Я использовал BorderLayout, но он не будет идти в следующую строку, продолжайте добавлять компоненты в одну строку, и мне нужна новая строка. Идеальный сидеть uation will be that i can use BorderLayout в сочетании с cardlayout или другим хорошим решением.Размещение компонентов на Jpanel

РЕДАКТИРОВАТЬ: Решено с GridLayout (0,4) Он будет выполнять эту работу, пока я не научусь использовать GridBaglayout. Спасибо, что пытались мне помочь.

enter image description here

+1

показать свой код и вывести. – Masudul

+0

Мой код теперь беспорядок из-за попытки и ошибки. Когда я отформатирую его, я буду включать код. – Anak1n

+0

Когда вы будете готовы перейти на GridBagLayout, посмотрите мой учебник о том, как использовать GridBagLayout: http://blue-walrus.com/2011/12/gridbaglayout-tutorial/ –

ответ

1

Да, вы можете комбинировать макеты.

Использование JPanel вы можете вставлять другие JPanels:

JPanel back = new JPanel(new BorderLayout()); 
JPanel rows = new JPabel(new GridLayout(3,3)); 

back.add(rows, BorderLayout.CENTER); 

Не видя кода, хотя это трудно точно знать, что вы пытаетесь достичь!

1

Да, вы можете комбинировать java-макеты.

Обычная модель я использую BorderLayout первый на раме. Центральный компонент расширяется, в то время как другие компоненты сжимаются. Внутри этих панелей у меня может быть Flowlayout, чтобы отображать кнопки, равномерно расположенные горизонтально сверху.

Другим распространенным подходом для форм является использование Gridbaglayout, а затем добавление всех элементов формы в положениях gridX и gridY. Затем я могу растянуть и тикать эти ячейки, используя другие ограничения в реплике Gridbaglayout.

Вы можете добавить скриншот, чтобы увидеть, что вы хотите сделать?

+0

Не хватает репутации. Я могу добавить следующее: [IMG] http://i44.tinypic.com/sxd5zl.png [/ IMG] – Anak1n

+0

Ну что ж, сначала вы используете BorderLayout для начала. Затем вам нужно решить, как расположить компоненты слева или справа. Все зависит от того, чего вы хотите. –

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