Problemas com JRadioButton

18 respostas
A

Pessoal

Estou tentando inserir um JRadioButton no meu layout da aplicação, mas eu seto alguns paramentros, mas nao aparece, o que acontece ? O que eu preciso mudar para incluir ??

Meu codigo é esse.

JRadioButton tipoImportacaoInclusao = null;
tipoImportacaoInclusao = null = new JRadioButton("Inclusão");
tipoImportacaoInclusao.setEnabled(false);

Valew
Abs

18 Respostas

D

Tenta assim:

JRadioButton tipoImportacaoInclusao = null; tipoImportacaoInclusao = new JRadioButton(); tipoImportacaoInclusao.setText("Inclusão"); tipoImportacaoInclusao.setEnabled(false);

dmandrak

marsola2k:
Pessoal

Estou tentando inserir um JRadioButton no meu layout da aplicação, mas eu seto alguns paramentros, mas nao aparece, o que acontece ? O que eu preciso mudar para incluir ??

Meu codigo é esse.

JRadioButton tipoImportacaoInclusao = null;
tipoImportacaoInclusao = null = new JRadioButton("Inclusão");
tipoImportacaoInclusao.setEnabled(false);

Valew
Abs

Da onde vem isso?

Não funciona assim.

Faz como o Daniels disse.

A

Nao aparece !!!

Nao tenho que setar a posição ?

D

marsola2k:
Nao aparece !!!

Nao tenho que setar a posição ?

Isso que você fez foi criar uma instancia de um JRadioButton e atribuir valores a algumas propriedades. Para coloca-lo na tela, você tem que adiciona-lo em um JPanel.

A

Ja fiz isso e nao deu certo !!

D

Testei aqui e funcionou perfeitamente. Qual o layout do seu JPanel?

dmandrak

Eu também achei que o problema estava ali.

Em algum lugar vc vai ter que fazer

JFrame frame= new JFrame();
                JPanel panel= new JPanel();
                //...
                //Aqui vc cria e seta tudo do seu JRadioButton
                //...
                panel.add(tipoImportacaoInclusao);
                frame.add(BorderLayout.WEST, panel); //exemplo de inclusão do JPanel no JFrame para lado esquerdo - WEST
A

Olha como ficou meu JPanel

private JPanel getJPanel() {
		if (jPanel == null) {
			jLblEmpresa = new JLabel();
			jLblEmpresa.setEnabled(false);
			jLblArquivo = new JLabel();
			jLblArquivo.setEnabled(false);
			jLblEmpr = new JLabel();
			jLblArq = new JLabel();
			jPanel = new JPanel();
			jPanel.setLayout(null);
			/* Label Empresa */
			jLblEmpr.setText(" Empresa:");
			jLblEmpr.setSize(70, 20);
			jLblEmpr.setLocation(10, 10);
			/* Label Arquivo */
			jLblArq.setText(" Arquivo: ");
			jLblArq.setSize(110, 20);
			jLblArq.setLocation(10, 35);

			jLblArquivo.setBounds(310, 85, 235, 20);
			jLblArquivo.setText("");

			tipoImportacaoInclusao = new JRadioButton();   
			tipoImportacaoInclusao.setText("Inclusão");   
			tipoImportacaoInclusao.setEnabled(false);  

			jPanel.setSize(546, 145);
			jPanel.setLocation(10, 10);

			jLblEmpresa.setBounds(310, 10, 235, 20);
			jLblEmpresa.setText("");

			jPanel.add(jLblEmpr, null);
			jPanel.add(getJTxtEmpresa(), null);
			jPanel.add(getJBtnSelEmpr(), null);
			
			jPanel.add(jLblArq, null);
			jPanel.add(getJTxtGrCliente(), null);
			jPanel.add(getJBtnSelArquivo(), null);

			jPanel.add(getJBtnCarregar(), null);
			jPanel.add(getJBtnPesq(), null);
			jPanel.add(jLblEmpresa, null);
			jPanel.add(jLblArquivo, null);
			
			jPanel.add(tipoImportacaoInclusao, null);
		}
		return jPanel;
	}

Chamo esse metodo atraves do initialize();

Falo

D

Quando você define o layout como null tem que chamar setBounds. Adicione essa linha ao código:

onde:

a - coordenada x do objeto
b - coordenada y do objeto
c - largura do objeto
d - altura do objeto

A

Cara nem setando aparece o radiobutton

que coisa

dmandrak

Cara, uma pergunta que pode parecer idiota mas acabou de me ocorrer.

O problema é só o radiobutton? todo o resto aparece?

Tenta colocar um layout padrao, tipo west, east, mesmo que fique desordenado, a principio, pra ver se o problema é mesmo esse que o Daniels falou.

D

Peguei seu códido, e mudei só a parte que interessa. Ai está. Testei e está funcionando:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

@SuppressWarnings("serial")
public class RadioButtonTeste extends JFrame {
	
	private JPanel jPanel = null;
	private JRadioButton tipoImportacaoInclusao  = null;
	public RadioButtonTeste() {
		initialize();
	}
	
	private void initialize() {
		this.setContentPane(getJPanel());
		this.setSize(400,500);
		this.setLocationRelativeTo(null);
	}
	
	private JPanel getJPanel() {
		if (jPanel == null) {
			jPanel = new JPanel();
			jPanel.setLayout(null);
			jPanel.add(getTipoImportacaoInclusao());
		}
		return jPanel;
	}

	private JRadioButton getTipoImportacaoInclusao() {
		if(tipoImportacaoInclusao == null) {
			tipoImportacaoInclusao = new JRadioButton();
			tipoImportacaoInclusao.setText("Inclusão");
			tipoImportacaoInclusao.setEnabled(false);
			tipoImportacaoInclusao.setBounds(10,10,130,20);
		}
		return tipoImportacaoInclusao;
	}
	
	public static void main(String[] args) {
		RadioButtonTeste teste = new RadioButtonTeste();
		teste.setVisible(true);
	}


}
A

Acabei de fazer o teste em casa e funcionou direito !

Amanha eu vou refazer, na verdade, vou zerar tudo e comecar de novo, quem sabe eu nao passei por alguma coisa

VAlew pessoal pela ajuda

Abs a tds

A

Bom dia pessoal

Acho que o problema está aqui, na hora de usar o extends, eu estou extendendo um JPanel ao inves de um JFrame, estou seguindo somente a arquitetura da empresa !

Alguem pode dar um help de como eu faco ?

Valew
Abs

D

Faz igual, só precisa adicionar o JPanel em um JFrame na hora de chamar a tela.Quer dizer, não necessariamente em um JFrame, mas acho que no seu caso é ele mesmo.

A

fiz a mesma coisa, mas na hora de abrir o projeto nao abre !

como eu inicializo ele ?

D

Algo assim:

JFrame frame = new JFrame(); frame.setContentPane(getJPanel()); frame.setSize(400,500); frame.setVisible(true);

A

Maravilha cara, nao preciso !

Achei o problema

Fui cabeça gorda agora !
sr

Valew

Abs

Criado 1 de outubro de 2008
Ultima resposta 2 de out. de 2008
Respostas 18
Participantes 3