2013-04-14 4 views
1

Мой вопрос:
Как добавить JPanel к BorderLayout на юго-востоке?
Это моя группа кнопок:BorderLayout SOUTHEAST?

buttonsPanel = new JPanel(); 
buttonsPanel.setLayout(new GridBagLayout()); 
buttonsPanel.add(cancel); 
buttonsPanel.add(previous); 
buttonsPanel.add(next); 

И отменить предыдущие и следующие кнопки JButtons-s, и buttonsPanel является JPanel.
Объявления:

JPanel buttonsPanel; 
JButton cancel; 
JButton previous; 
JButton next; 

И мой JFrame:
JFrame mainWindow; - декларация.
Остальной код:

mainWindow.setJMenuBar(menubar); 
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
mainWindow.getContentPane().setLayout(new BorderLayout()); 
mainWindow.setSize(new Dimension(screenW/3 + 200, screenH - 200)); 
mainWindow.setMinimumSize(new Dimension(screenW/4, screenH - 500)); 
//mainWindow.getContentPane().add(BorderLayout.EAST, BorderLayout.SOUTH, buttonsPanel); 
int w = mainWindow.getWidth(); 
int h = mainWindow.getHeight(); 
x = (screenW - w)/2; 
y = (screenH - h)/2; 
mainWindow.setLocation(x, y); 
mainWindow.setVisible(true); 

Так что я могу сделать, чтобы переместить buttonsPanel на юго - востоку от главного окна? Пожалуйста, помогите мне.

Спасибо заранее, Mateiaru

ответ

3

Создать JPanel с BorderLayout, добавьте эту панель в SOUTH положение главной панели.

Создайте еще один JPanel, добавить кнопки на эту панель (используя то, что когда-либо макет менеджеру вам нужно.

Теперь добавьте «кнопку» панель на южную панель в EAST положения

2

Если я правильно понимаю , вы хотели бы иметь свою кнопочную панель на юге своего фрейма, а ваши кнопки - справа от панели кнопок.

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

Прочитайте, как использовать эти два менеджера компоновки в the swing tutorial, потому что вы смущены тем, как работает BorderLayour: вы не можете добавить что-то на юге и к востоку от такого макета.

Обратите внимание, что на странице учебника о BoxLayout приведен пример, который делает именно то, что вы хотите.

2
buttonsPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); 
mainPanel.add(buttonsPanel, BorderLayout.SOUTH); 
+0

Это работает. Я проверил все ответы – Chaoz

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

  • Нет связанных вопросов^_^