Organizar botões e método setBounds

Galera com eu faço para organizar os botões de uma calculadora que eu estou fazendo como a forma de um quadrado alguém tem alguma ídeia??
tem um método setBounds mais como uso ele já li em tutoriais e no API do java entendi nada alguém pode me explicar implementado o código??
vo deixar ele aqui embaixo para que vcs possam verificar


import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class Calculadora extends JFrame
{
   private JTextField texto;
   private JButton zero;
   private JButton um;
   private JButton dois;
   private JButton tres;
   private JButton quatro;
   private JButton cinco;
   private JButton seis;
   private JButton sete;
   private JButton oito;
   private JButton nove;
   
   public Calculadora()
   {
	   
	   
      super("Calculadora");
      
      setLayout(new FlowLayout());//criar layout
    
      JTextField texto = new JTextField(10);
      add(texto);
     
      zero=new JButton("0");
      add(zero);
     
      um=new JButton("1");
      add(um);
     
      dois=new JButton("2");
      add(dois);
     
      tres=new JButton("3");
      add(tres);
     
      quatro=new JButton("4");
      add(quatro);
     
      cinco=new JButton("5");
      add(cinco);
     
      seis=new JButton("6");
      add(seis);
     
      sete=new JButton("7");
      add(sete);
     
      oito=new JButton("8");
      add(oito);
     
      nove=new JButton("9");
      add(nove);
     
      Botao acao = new Botao();
      zero.addActionListener(acao);
      um.addActionListener(acao);
      dois.addActionListener(acao);
      tres.addActionListener(acao);
      quatro.addActionListener(acao);
      cinco.addActionListener(acao);
      seis.addActionListener(acao);
      sete.addActionListener(acao);
      oito.addActionListener(acao);
      
    
     
   }//fim do método construtor
   
   private class Botao implements ActionListener
   {
      public void  actionPerformed(ActionEvent event)
      {
    	  
         if (event.getSource() == zero ) 
          {
        	 
          }
         
         if (event.getSource() == um ) 
          {
        	
          }
         
         if (event.getSource() == dois ) 
         {
        	
         }

         
         if (event.getSource() == tres ) 
         {
        	
         }

         
         if (event.getSource() == quatro ) 
         {
        	
         }

         
         if (event.getSource() == cinco ) 
         {
        	
         }

         
         if (event.getSource() == seis ) 
         {
        	 
         }
         
         if (event.getSource() == sete ) 
         {
        	
         }
         
         if (event.getSource() == oito ) 
         {
        	 
         }
         
         if (event.getSource() == nove ) 
         {
     			JOptionPane.showMessageDialog(null,"oi");
     		
         }


  
           
      }
   }
   
   

}

os botões etão na horizontal quero passar para forma de um quadrado tem como??

1 curtida

valew cara mais naum consegui em qual classe eu coloco esse método…?

Segue os parâmetros do método setBounds:

public void setBounds(int x, int y, int width, int height)

No caso da minha calculadora como vo usar
public void setBounds(int x, int y, int width, int height)

ou

zero.setPreferredSize( new Dimension(250,250) );

tentei us dois mais não deu certo…!

Cara, você pode utilizar os gerenciadores de layout, segue um exemplo que montei pra você:

[code]import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.GridLayout;

public class Calculadora extends JFrame
{
private JPanel pn1;
private JButton bt0, bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, btSinal, btVirgula;
private JTextField tf1;
private BorderLayout bl1;
private GridLayout gl1;

public Calculadora()
{
      super("Calculadora");

      pn1 = new JPanel();

      bt0 = new JButton("0");
      bt1 = new JButton("1");
      bt2 = new JButton("2");
      bt3 = new JButton("3");
      bt4 = new JButton("4");
      bt5 = new JButton("5");
      bt6 = new JButton("6");
      bt7 = new JButton("7");
      bt8 = new JButton("8");
      bt9 = new JButton("9");
      btSinal = new JButton("+/-");
      btVirgula = new JButton(",");

      tf1 = new JTextField();

      bl1 = new BorderLayout();
      gl1 = new GridLayout(4, 3);

      this.setLayout(bl1);

      this.add(tf1, BorderLayout.NORTH);
      this.add(pn1, BorderLayout.CENTER);

      pn1.setLayout(gl1);

      pn1.add(bt7);
      pn1.add(bt8);
      pn1.add(bt9);
      pn1.add(bt4);
      pn1.add(bt5);
      pn1.add(bt6);
      pn1.add(bt1);
      pn1.add(bt2);
      pn1.add(bt3);
      pn1.add(bt0);
      pn1.add(btSinal);
      pn1.add(btVirgula);

      this.pack();
      this.setVisible(true);
}

public static void main(String[] args)
{
       new Calculadora();
 }

}[/code]

Qualquer coisa é só perguntar…t+

Muito obrigado vc me ajudou bastante…!
entedi tudo, isso que eu tava prescisando…!

Para vc utilizar o setBounds( x , y , largura , altura );
vc primeiro tem q configurar o gerenciador de layout para null;

JPanel painel = new JPanel( null );
JButton botao = new JButton("1");
botao.setBounds( 50 , 50 , 100 , 20 );
painel.add( botao );

ou

 JPanel painel = new JPanel(  );
 painel.setLayout( null );
 JButton botao = new JButton("1");
 botao.setBounds( 50 , 50 , 100 , 20 );
 painel.add( botao );

Obrigado

olá, eu cheguei até aí tb, só q eu preciso fazer com que os numero apareçam no display. como eu faço isso???
será q v6 podem me ajudar?
bjux

Você tem que adicionar um ActionListener em seus botões.

T+

Cara, tá faltando adicionar o listener ao botão nove, que é justo o que tem algo programado.

   nove.addActionListener(acao);

Você pode tentar o setPreferedSize:

   zero.setPreferredSize( new Dimension(250,250) );

Onde 250 e 250 são largura e altura.

Para usar o segundo, você precisa importar a classe java.awt.Dimension.
E o setPreferredSize é da classe JButton mesmo. Na verdade ela está disponível em um monte de classes do Swing.