Выравнивание кнопок J - PullRequest
       2

Выравнивание кнопок J

1 голос
/ 21 марта 2011

Я не уверен, почему я не могу отрегулировать расположение моих кнопок в коде ниже.У меня есть пара строк, которые устанавливают границы, но я должен что-то упустить.

public DayGUI()
      {  
         mainFrame = new JFrame("What Kind Of Day Are You Having?");  
         btnGood = new JButton("Good");  
         btnBad = new JButton("Bad");

         btnGood.setBounds(10, 10, 80, 20);
         btnBad.setBounds(10, 30, 80, 20);

       Container c = mainFrame.getContentPane();  
       c.setLayout(new FlowLayout());  
       c.add(btnGood);  
       c.add(btnBad);  

Ответы [ 4 ]

4 голосов
/ 21 марта 2011

Вы можете выровнять кнопки, используя GridLayout, GridBagLayout, SpringLayout, GroupLayout и другие.

Это учебник по GridBagLayout. Вот один на GridLayout. Вот один в GroupLayout.

Это обзор о менеджерах по расположению. Менеджеры макетов позволяют вам определять компоненты в контейнере по отношению к контейнеру и друг другу. У каждого из них есть свои сильные и слабые стороны.

Для ваших нужд я бы рассмотрел GridBagLayout.

2 голосов
/ 21 марта 2011

Вы должны использовать менеджер раскладки: http://download.oracle.com/javase/tutorial/uiswing/layout/using.html

1 голос
/ 21 марта 2011

Вы использовали FlowLayout в качестве менеджера по расположению.Этот менеджер компоновки не изменяет размеры компонентов, чтобы соответствовать всем одинаковому размеру.Вместо setBounds вы должны использовать setPreferredSize.

0 голосов
/ 21 марта 2011

FlowLayout принимает «предпочтительный размер» для компонента при его раскладке. Установить его правильно, и это должно просто работать.

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

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