Duvidas em JComboBox

4 respostas
joao.ramos

galera,

o programa e o seguinte, quando selecionado um estado tem que aparecer as cidades, mas so esta funcionando para "PE". o que esta de errado?

codigo:
private String[] estadoS = {"Estados","PE", "PB", "PA", "RJ", "SP"};
	private String[] PE = {"Recife", "Olinda", "Jaboatão"};
	private String[] RJ = {"cidade", "cidade"};
	private String[] SP = {"cidade", "cidade"};
	private String[] BA = {"cidade", "cidade"};
	
estadoC = new JComboBox(new String [] {"Estados","PE", "RJ", "SP", "BA"});
		cidadePE = new JComboBox(PE);
		cidadeRJ = new JComboBox(RJ);
		cidadeSP = new JComboBox(SP);
		cidadeBA = new JComboBox(BA);
		
estado.setBounds(220, 105, 55, 20);
		estadoC.setBounds(270, 105, 50, 20);
		cidade.setBounds(330, 105, 55, 20);
		cidadePE.setBounds(390, 105, 80, 20);
		cidadeRJ.setBounds(390, 105, 80, 20);
		cidadeSP.setBounds(390, 105, 80, 20);
		cidadeBA.setBounds(390, 105, 80, 20);
		
estadoC.addActionListener(
				new ActionListener(){

					public void actionPerformed(ActionEvent e) {
						
						String estado = (String) estadoC.getSelectedItem();   
						
						if ("PE".equals(estado)) {   
				            cidadePE.setEnabled(true);   
						}
						if ("Rj".equals(estado)) {   
				            cidadeRJ.setEnabled(true);   
						}
						if ("SP".equals(estado)) {   
				            cidadeSP.setEnabled(true);   
						}
						if ("BA".equals(estado)) {   
				            cidadeBA.setEnabled(true);   
						}
				    }   
				}
		);

OBS: os JComboBox das cidades estao inicialmente como "setEnabled(false)".
pode ser por eles estarem em um mesmo setBounds?!

e outra, como faço para por as interfaces em uma so! tipo tenho as interfaces, inicio, cadastro, jogos, etc, como faço para quando selecionada a proxima interface ela nao abrir um novo JFrame e se no mesmo?

jogos.addActionListener(
			new ActionListener() {

				public void actionPerformed(ActionEvent arg0) {
					
					InterJogo ij = new InterJogo();
					
					ij.setSize(450,250);
					ij.setLocationRelativeTo(null);
					ij.setVisible(true);
					ij.setResizable(false);
					ij.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				}
				
			}
		
		);
		
		cadastro.addActionListener(
			new ActionListener() {

				public void actionPerformed(ActionEvent arg0) {
						
						Cadastro c = new Cadastro();
						
						c.setSize(600,380);
						c.setLocationRelativeTo(null);
						c.setVisible(true);
						c.setResizable(false);
						c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
						
						
				}
		
			}
		
		);

ajudem...

4 Respostas

L

Com relação ao combo box: na linha que vc diz

(String) estadoC.getSelectedIndex()

este método retorna um inteiro para a posição selecionada do combo box…

por exemplo:
se vc selecionou a opção PE, ele retorna 0
se vc selecionou a opção SP, ele retorna 2

o que está acontencedo pelo visto é :

if ( "PE".equals( "0" ) ) { }

L

opa…falei M@#$

é estadoC.getSelectedItem(); :oops:

TeiTei

Procure algo sobre JInternalFrame ou use os metodos setVisible() dos seus objetos…

joao.ramos

bixo em relaçao ao ComboBox, nao deu pra entender nada!!!
ate tentei fazer isso ai que tu butasse, mas o Combo cidade continuou desativado, nao vai funcionar assim nao!

tens outra ideia?

e em relaçao ao Jinternalframe, ta legal ja!

valeu!

Criado 26 de dezembro de 2007
Ultima resposta 27 de dez. de 2007
Respostas 4
Participantes 3