Erro com FlowLayout

0 respostas
java
R

Tenho um JPanel com o layout de FlowLayout que preciso adicionar vários botões, quando chegar na largura limite preciso quebrar a linha, e quando chegar na altura máxima preciso adicionar um scrool vertical.

Estou usando o Netbeans para montar a parte gráfica, fiz assim:

Adicionei um JPanel, configurei e adicionei os botões assim:

jPanel.setLayout(new FlowLayout());
jPanel.setMaximumSize(new Dimension(520, 150));
              
JButton bt;
for(int i = 0; i <= 100; i++){
      bt = new JButton("BT : " + i);
      bt.setPreferredSize(new Dimension(80, 30));
      jPanel.add(bt);
}

O resultado foi este:

Configurando o tamanho máximo do JPanel consegui quebrar a linha corretamente, mas precisa criar o scroll vertical. Para criar o scroll arrastei um JScrollPane e coloquei o JPanel dentro dele.

E configurei assim:

jScrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane.setMaximumSize(new Dimension(520, 150));        
jPanel.setLayout(new FlowLayout());
jPanel.setMaximumSize(new Dimension(520, 150));
              
JButton bt;
for(int i = 0; i <= 100; i++){
     bt = new JButton("BT : " + i);
     bt.setPreferredSize(new Dimension(80, 30));
     jPanel.add(bt);
}

O problema é que depois de adicionar o JScrollPane parou de quebrar a linha:

Criado 17 de março de 2016
Respostas 0
Participantes 1