Pessoal… como faz no formulário… vai ter uma combobox com dois itens… sim ou não… se eu selecionar sim … irá exibir tal tipo de campo abaixo e se selecionar não… irá exibir outro tipo de campo abaixo… como posso fazer isso em ?
Como selecinar Sim/Não na combobox e exibir campos abaixo de acordo com a seleção
F
4 Respostas
no onchange desse seu combo, você terá que setar uma propriedade que irá dizer qual o tipo de campo abaixo, e no campo abaixo utilizar a propriedade rendered, para definir qual deve ser exibido. Deu pra entender?
É o que eu consigo imaginar, baseado nas informações que você forneceu.
F
se tiver o trecho do código eu agradeço.
F
Isso é usando swing?
Se for, acho que tu pode pegar o Button Group, adicionar um actionListener e testar a fonte da ação.
Exemplo:
bGroup.getSelection().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(radioButtonSim))
faz tal coisa
else if (e.getSource().equals(radioButtonNao))
faz outra coisa
}
});
Não cheguei a testar, portanto não sei se resolve.
Teste aí.
E
Um exemplo completo, escrito com o plugin WindowBuilder.
package guj;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JRadioButton;
import javax.swing.border.TitledBorder;
import java.awt.CardLayout;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.ButtonGroup;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class ExemploCheckboxAlternaCampos extends JFrame {
private JPanel pnlRadioButtons;
private JRadioButton rdoPessoaFisica;
private JRadioButton rdoPessoaJuridica;
private JPanel pnlInformacoes;
private JPanel pnlPessoaFisica;
private JPanel pnlPessoaJuridica;
private JLabel lblCpf;
private JTextField txtCPF;
private JLabel lblNomeDoCnjuge;
private JTextField txtNomeConjuge;
private JLabel lblCnpj;
private JTextField txtCNPJ;
private JLabel lblNomeDeFantasia;
private JTextField txtNomeFantasia;
private final ButtonGroup buttonGroup = new ButtonGroup();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ExemploCheckboxAlternaCampos frame = new ExemploCheckboxAlternaCampos();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ExemploCheckboxAlternaCampos() {
setTitle("Exemplo CheckBox");
setBounds(100, 100, 450, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(getPnlRadioButtons(), BorderLayout.NORTH);
getContentPane().add(getPnlInformacoes(), BorderLayout.CENTER);
}
private JPanel getPnlRadioButtons() {
if (pnlRadioButtons == null) {
pnlRadioButtons = new JPanel();
pnlRadioButtons.setBorder(new TitledBorder(null, "Tipo da Pessoa", TitledBorder.LEADING, TitledBorder.TOP, null, null));
pnlRadioButtons.add(getRdoPessoaFisica());
pnlRadioButtons.add(getRdoPessoaJuridica());
}
return pnlRadioButtons;
}
private JRadioButton getRdoPessoaFisica() {
if (rdoPessoaFisica == null) {
rdoPessoaFisica = new JRadioButton("Pessoa F\u00EDsica");
rdoPessoaFisica.setSelected(true);
rdoPessoaFisica.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
((CardLayout) getPnlInformacoes().getLayout()).show(getPnlInformacoes(), "Pessoa Fisica");
}
});
buttonGroup.add(rdoPessoaFisica);
}
return rdoPessoaFisica;
}
private JRadioButton getRdoPessoaJuridica() {
if (rdoPessoaJuridica == null) {
rdoPessoaJuridica = new JRadioButton("Pessoa Jur\u00EDdica");
rdoPessoaJuridica.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
((CardLayout) getPnlInformacoes().getLayout()).show(getPnlInformacoes(), "Pessoa Juridica");
}
});
buttonGroup.add(rdoPessoaJuridica);
}
return rdoPessoaJuridica;
}
private JPanel getPnlInformacoes() {
if (pnlInformacoes == null) {
pnlInformacoes = new JPanel();
pnlInformacoes.setBorder(new TitledBorder(null, "Informa\u00E7\u00F5es", TitledBorder.LEADING, TitledBorder.TOP, null,
null));
pnlInformacoes.setLayout(new CardLayout(0, 0));
pnlInformacoes.add(getPnlPessoaFisica(), "Pessoa Fisica");
pnlInformacoes.add(getPnlPessoaJuridica(), "Pessoa Juridica");
}
return pnlInformacoes;
}
private JPanel getPnlPessoaFisica() {
if (pnlPessoaFisica == null) {
pnlPessoaFisica = new JPanel();
GroupLayout gl_pnlPessoaFisica = new GroupLayout(pnlPessoaFisica);
gl_pnlPessoaFisica.setHorizontalGroup(gl_pnlPessoaFisica.createParallelGroup(Alignment.LEADING).addGroup(
gl_pnlPessoaFisica.createSequentialGroup().addContainerGap().addGroup(
gl_pnlPessoaFisica.createParallelGroup(Alignment.LEADING).addComponent(getLblNomeDoCnjuge()).addComponent(
getLblCpf())).addPreferredGap(ComponentPlacement.RELATED).addGroup(
gl_pnlPessoaFisica.createParallelGroup(Alignment.LEADING).addComponent(getTxtCPF(), GroupLayout.DEFAULT_SIZE,
301, Short.MAX_VALUE).addComponent(getTxtNomeConjuge(), GroupLayout.DEFAULT_SIZE, 301, Short.MAX_VALUE))));
gl_pnlPessoaFisica.setVerticalGroup(gl_pnlPessoaFisica.createParallelGroup(Alignment.LEADING).addGroup(
gl_pnlPessoaFisica.createSequentialGroup().addContainerGap().addGroup(
gl_pnlPessoaFisica.createParallelGroup(Alignment.BASELINE).addComponent(getLblCpf()).addComponent(getTxtCPF(),
GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addPreferredGap(
ComponentPlacement.RELATED).addGroup(
gl_pnlPessoaFisica.createParallelGroup(Alignment.BASELINE).addComponent(getLblNomeDoCnjuge()).addComponent(
getTxtNomeConjuge(), GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addContainerGap(
101, Short.MAX_VALUE)));
pnlPessoaFisica.setLayout(gl_pnlPessoaFisica);
}
return pnlPessoaFisica;
}
private JPanel getPnlPessoaJuridica() {
if (pnlPessoaJuridica == null) {
pnlPessoaJuridica = new JPanel();
GroupLayout gl_pnlPessoaJuridica = new GroupLayout(pnlPessoaJuridica);
gl_pnlPessoaJuridica.setHorizontalGroup(gl_pnlPessoaJuridica.createParallelGroup(Alignment.LEADING).addGroup(
gl_pnlPessoaJuridica.createSequentialGroup().addContainerGap().addGroup(
gl_pnlPessoaJuridica.createParallelGroup(Alignment.LEADING).addComponent(getLblNomeDeFantasia()).addComponent(
getLblCnpj())).addPreferredGap(ComponentPlacement.UNRELATED).addGroup(
gl_pnlPessoaJuridica.createParallelGroup(Alignment.LEADING).addComponent(getTxtCNPJ(),
GroupLayout.DEFAULT_SIZE, 294, Short.MAX_VALUE).addComponent(getTxtNomeFantasia(),
GroupLayout.DEFAULT_SIZE, 294, Short.MAX_VALUE))));
gl_pnlPessoaJuridica.setVerticalGroup(gl_pnlPessoaJuridica.createParallelGroup(Alignment.LEADING).addGroup(
gl_pnlPessoaJuridica.createSequentialGroup().addContainerGap().addGroup(
gl_pnlPessoaJuridica.createParallelGroup(Alignment.TRAILING).addComponent(getLblCnpj()).addComponent(
getTxtCNPJ(), GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addPreferredGap(
ComponentPlacement.RELATED).addGroup(
gl_pnlPessoaJuridica.createParallelGroup(Alignment.BASELINE).addComponent(getLblNomeDeFantasia()).addComponent(
getTxtNomeFantasia(), GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addContainerGap(
101, Short.MAX_VALUE)));
pnlPessoaJuridica.setLayout(gl_pnlPessoaJuridica);
}
return pnlPessoaJuridica;
}
private JLabel getLblCpf() {
if (lblCpf == null) {
lblCpf = new JLabel("CPF");
}
return lblCpf;
}
private JTextField getTxtCPF() {
if (txtCPF == null) {
txtCPF = new JTextField();
txtCPF.setColumns(10);
}
return txtCPF;
}
private JLabel getLblNomeDoCnjuge() {
if (lblNomeDoCnjuge == null) {
lblNomeDoCnjuge = new JLabel("Nome do C\u00F4njuge");
}
return lblNomeDoCnjuge;
}
private JTextField getTxtNomeConjuge() {
if (txtNomeConjuge == null) {
txtNomeConjuge = new JTextField();
txtNomeConjuge.setColumns(10);
}
return txtNomeConjuge;
}
private JLabel getLblCnpj() {
if (lblCnpj == null) {
lblCnpj = new JLabel("CNPJ");
}
return lblCnpj;
}
private JTextField getTxtCNPJ() {
if (txtCNPJ == null) {
txtCNPJ = new JTextField();
txtCNPJ.setColumns(10);
}
return txtCNPJ;
}
private JLabel getLblNomeDeFantasia() {
if (lblNomeDeFantasia == null) {
lblNomeDeFantasia = new JLabel("Nome de Fantasia");
}
return lblNomeDeFantasia;
}
private JTextField getTxtNomeFantasia() {
if (txtNomeFantasia == null) {
txtNomeFantasia = new JTextField();
txtNomeFantasia.setColumns(10);
}
return txtNomeFantasia;
}
}
Criado 1 de junho de 2012
Ultima resposta 1 de jun. de 2012
Respostas 4
Participantes 4
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo