2013-04-03 2 views
1

Я создаю графический интерфейс Java, используя создателя GUI NetBeans.Netbeans GUI add buttons using if statement

И я хочу добавить кнопки на панель с помощью оператора if, ive сделал это много раз раньше, но не с Netbeans.

for (int i = 0; i < list.length; i++){ 
          if (something){ 
           String files = something.getName(); 
           JButton btn = new JButton(files); 
           panel.add(btn); 
           panel.validate(); 

Это инструкция if, которая работала, когда я не использовал создателя GUI Netbeans. Но теперь ничего не отображается, и ошибок не возникает.

это как создается панель

public final javax.swing.JPanel panel = new javax.swing.JPanel(); 

     javax.swing.GroupLayout panelLayout = new javax.swing.GroupLayout(panel); 
    panel.setLayout(panelLayout); 
    panelLayout.setHorizontalGroup(
     panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 0, Short.MAX_VALUE) 
    ); 
    panelLayout.setVerticalGroup(
     panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 0, Short.MAX_VALUE) 
    ); 

Кто-нибудь есть какие-либо идеи ??

+1

Может быть любое количество вещей. Предполагая, что вы используете диспетчер компоновки, добавьте 'panel.repaint()' после вызова проверки. Можете ли вы опубликовать [SSCCE] (http://sscce.org/)? – Reimeus

+0

@Reimeus Я добавил, как создается панель – user2129160

+0

Вы используете 'GroupLayout'. Любые новые кнопки должны быть добавлены с использованием правильных горизонтальных и вертикальных групп. – Reimeus

ответ

1

GroupLayout требует, чтобы были добавлены новые кнопки/comuinents с использованием правильной горизонтальной вертикальной группы &. Кроме того, вы можете использовать другой менеджер компоновки, который не требует каких-либо ограничений для новых добавленных компонентов. К ним относятся FlowLayout и GridLayout.