Criar um JOptionPane.ShowInputDialog() com JComboBox

4 respostas
T

Olá pessoal!

Estou com uma dúvida e gostaria de saber se é possível criar um JOptionPane.ShowInputDialog() com JComboBox? O que existe é um com um campo texto e eu gostaria de fazer com um JComboBox, pois eu queria escolher uma de 4 opções disponíveis e armazenar esse valor numa string.

Nunca fiz nada usando a biblioteca swing e tenho um pouco de dificuldades nessa parte.

Desde já agradeço.

4 Respostas

P
tipo da para te criar uma ação do jcombobox que gera um JOptionPane.ShowInputDialog() ficaria algo ais ou menos assim:
comboBox.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				try {//se eu selecionei algo no jcombobox
					if (comboBox.getSelectedItem() !=null ){
						//gero um joptionpane
JOptionPane.showInputDialog("Faça algo:");
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}



			}
		}
		);
ou tu pode fazer para um item especifico q for selecionado
comboBox.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				try {//se eu selecionei algo no jcombobox
					if (comboBox.getSelectedItem() !=null ){
						if(combobox.getSelectedItem.equals("1 opçaõ da combo"))
//gero um joptionpane
JOptionPane.showInputDialog("Faça algo:");
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}



			}
		}
		);
espero que te ajude!:)
L

tiagofla,

Vc pdoe tentar :

Object[] opcoes = {"Um","Dois","Tres","Quatro"};
Object res = JOptionPane.showInputDialog(null, "Escolha um item" , "Selecao de itens" ,
				JOptionPane.PLAIN_MESSAGE , null ,opcoes,"");

Se nenhuma opção for escolhida no combo res fica com valor null;
O melhor tutorial que conheço : http://download.oracle.com/javase/tutorial/uiswing/components/

T

luiz_renato,

dessa forma apareceu certinho uma pequena tela com uma combo. O problema que tenho que armazenar um dos valores selecionados (ex: {“Um”,“Dois”,“Tres”,“Quatro”}) em uma string e dessa forma não deu certo. Depois que eu preencher essa string farei umas condições, tipo:

if(Um”.equals(res)){

executa metodo1;

}

if(Dois”.equals(res)){

executa metodo2;

}

.

.

.

entendeu? No exemplo que vc me passou o atributo “res” é do tipo Object. Tentei fazer transformando ele em string mais não deu certo.

T

Blz…ja deu certo aqui. Fiz um cast pra string. Utilizei o exemplo do luiz_renato. Obrigado a todos.

Criado 11 de maio de 2011
Ultima resposta 12 de mai. de 2011
Respostas 4
Participantes 3