JRadioButton mas com Layout(null)

1 resposta
L

Eu estou querendo usar dois JRadioButton, mas eu gostaria de colocar os dois em um JPanel onde eu uso Layout(null), mas não estou conseguindo porque como é Layout(null) eu estou informando o setSize() e o setLocation() dos dois JRadioButton e isso não está sendo aceito. Eu aprendi que pra usar um componente em Layout(null) devo dimensionar e dar a localização de qualquer componente a ser usado sobre o JPanel, mas não está dando certo, acho que aprendi errado.

Veja este código abaixo, se eu fizer assim funciona, mas nesse caso eu usei FlowLayout no JPanel:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class UsaRadio extends JFrame implements ItemListener
{
     JRadioButton radio1,radio2;
     ButtonGroup grupo;
     JPanel P1;

    public static void main(String args [])
    {
      JFrame Janela = new UsaRadio();
      Janela.setVisible(true);
      WindowListener x = new WindowAdapter()
        {
          public void windowClosing(WindowEvent e)
            {
               System.exit(0);
            }
           };
          Janela.addWindowListener(x);
     }

  

     public UsaRadio()                             
         {             
            setTitle("Usando JButtonRadio");
            setSize(680,430);

            getContentPane().setLayout(null);
            
            P1 = new JPanel();
            P1.setLayout(new FlowLayout());
            P1.setBackground(Color.yellow);
            P1.setLocation(100,80);
            P1.setSize(400,230);
            P1.setVisible(true); 
       
            radio1 = new JRadioButton("Casado");
            radio2 = new JRadioButton("Solteiro");
                       
            grupo =  new ButtonGroup();
                        
            grupo.add(radio1);
            grupo.add(radio2);

            radio1.setSelected(true);

            P1.add(radio1);
            P1.add(radio2);

            getContentPane().add(P1);
            
       }

Eu pergunto, o que eu devo modificar nesse código para usar Layout(null) no JPanel e fazer com que os radio1 e radio2 apareçam?

Obrigado pela ajuda que puder ser dada.
Luca

1 Resposta

ramilani12

Qndo vc “seta” o .setLayout(null), vc precisa especificar a posiçao absoluta do componente no Frame :

radioButton.setBounds(new Rectangle(posicaoX,posicaoY,comprimentoComponente,alturaComponente));
panel.add(radioButton);
Criado 27 de junho de 2006
Ultima resposta 27 de jun. de 2006
Respostas 1
Participantes 2