Olha a classe que você está utilizando (FlowLayout()) ela adiciona os botões da esquerda para à direita, e por isso que os botões estão em linha reta. Utilize a classe GridLayout(), ela posiciona os botões por linhas e colunas.
ex: Se você quiser adicionar 4 botões em forma quadrática, ou seja 2 linhas e 2 colunas, só é preciso você informar no constructor dessa classe que assim os botões vão ficar quandráticos.
JFrameframe=newJFrame("My GridLayout");Containercontent=frame.getContentPane();content.setLayout(newGridLayout(2,2));for(inti=0; i < 4; i++)content.add(newJButton("Button["+i+"]");
B
bruno555
Obrigado…
Mas agora com isso me veio outra dúvida,
esses botões que eu crio… como é o nome deles? :S
Para falar especificamente de cada um?
WendersonLP
O nome é você que dá a cada um deles!
É isso?
B
bruno555
mas eu estou criando por um for…
e adicionando na Grid…
então fica sempre ‘‘button’’ ;s
WendersonLP
É mesmo, o bom seria você criar um vetor de JButton que aí sim você poderia manipular por indice depois!
importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JOptionPane;publicclassBotoesextendsJFrame{privateJButton[]botoes=newJButton[6];publicBotoes(){super("Teste de Botoes");this.setSize(300,200);this.setLocationRelativeTo(this);componentes();this.setVisible(true);}publicvoidcomponentes(){this.setLayout(newGridLayout(3,3));for(inti=0;i<botoes.length;i++){botoes[i]=newJButton("Botao "+(i+1));botoes[i].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){acao(e);}});this.add(botoes[i]);}}publicvoidacao(ActionEventevt){JButtonb=(JButton)evt.getSource();JOptionPane.showMessageDialog(this,b.getText()+" pressionado");}publicstaticvoidmain(Stringargs[]){Botoesb=newBotoes();b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}