Salvando em uma variavel o que for selecionado no combobox

11 respostas
Ramiroinjar

Saudações

galera tenho esse codigo abaixo… preciso saber como salvar em uma variavel o que for selecionado no combobox…
desde ja agradeço…
abraços

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.*;

public class JFrameExemplo extends JFrame{

private JLabel labelMarcação = new JLabel("Informe o Tipo de Marcação:");// mensagem de pedido

/*JComboBox apresenta uma lista drop-down com as opções. O JComboBox pode ter seu texto editado ou não Quando ele não editado os únicos valores que ele aceita são os valores presentes na lista drop-down*/
private JComboBox comboMarcação = new JComboBox();


public JFrameExemplo(){
super("Network Cable By Ramiro Ramos");
Container pane1 = this.getContentPane();
pane1.setLayout(new GridLayout(2,1));

JPanel pane2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel pane3 = new JPanel(new FlowLayout(FlowLayout.LEFT));

comboMarcação.addItem("Crescente");


comboMarcação.addItem("Decrescente");




pane2.add(labelMarcação);
pane2.add(comboMarcação);

pane1.add(pane2);
pane1.add(pane3);

//o método getItemAt(int) retorna o valor do item através do índice
//o índice é igual ao de um array, onde o primeiro item é igual a 0
System.out.println(comboMarcação.getItemAt(6) + "/" +
comboMarcação.getItemAt(18));

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(310, 120);
this.setResizable(false);
this.setVisible(true);

} public static void main(String[] args){
JFrameExemplo exemplo = new JFrameExemplo();
}
}

11 Respostas

vininewday
String valorSelecionado = (String) comboBox.getSelectedItem();

Amigo, se você tiver dúvidas referentes a certo componente do Swing pode pesquisar no JavaDoc da API JSE 7 no portal Oracle.

link: http://docs.oracle.com/javase/7/docs/api/

Ramiroinjar

vininewday:
String valorSelecionado = (String) comboBox.getSelectedItem();

Amigo, se você tiver dúvidas referentes a certo componente do Swing pode pesquisar no JavaDoc da API JSE 7 no portal Oracle.

link: http://docs.oracle.com/javase/7/docs/api/

Vlw brother…
mais no caso eu preciso salvar em uma variavel e logo depois usar um if e criar alguma ação… como deve ter percebido sou iniciante em java… :slight_smile:

chibana

E como seria esse if?? por exemplo seria algo do tipo…

if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("umNome")){
        JOptionPane.showMessageDialog(null,"teste");
}

seria mais ou menos isso?

Ramiroinjar

chibana:
E como seria esse if?? por exemplo seria algo do tipo…

if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("umNome")){
        JOptionPane.showMessageDialog(null,"teste");
}

seria mais ou menos isso?

Bom esse programinha é para calcular cortes de cabo de rede…
por exemplo o cara escolheria crescente… apareceria outra janela onde o cara digitaria o q esta marcando no cabo e o tamanho q deseja… ai seria

marcação+tamanho…
e depois mais uma janela com o resultado…

ficaria bem mais legal… se todo o processo rodasse em um unica janela… mais ai pra mim ja complica mais… como eu ja tenho um noção da programação c… fica mais facil fazer dessa forma…
entendeu?

chibana

Então no caso seria tpw isso daqui:

if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("crescente")){ String marcacao = JOptionPane.showInputDialog(null,"Informe a marcação"); float tamanho = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o tamanho")); JOptionPane.showMessageDialog(null, marcacao+tamanho); }

ou seria outra coisa?? qualquer coisa posta ai.
Se isso respondeu, por favor coloque o tópico como resolvido =)

Ramiroinjar

chibana:
Então no caso seria tpw isso daqui:

if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("crescente")){ String marcacao = JOptionPane.showInputDialog(null,"Informe a marcação"); float tamanho = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o tamanho")); JOptionPane.showMessageDialog(null, marcacao+tamanho); }

ou seria outra coisa?? qualquer coisa posta ai.
Se isso respondeu, por favor coloque o tópico como resolvido =)

brother o cogido inteiro esta abaixo… ja te encomodei demais né brother? mais acho q estamos chegando em uma solução…

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.*;

public class JFrameExemplo extends JFrame{
    
    
    

private JLabel labelMarcação = new JLabel("Informe o Tipo de Marcação:");// mensagem de pedido

/*JComboBox apresenta uma lista drop-down com as opções. O JComboBox pode ter seu texto editado ou não Quando ele não editado os únicos valores que ele aceita são os valores presentes na lista drop-down*/
private JComboBox comboMarcação = new JComboBox();


public JFrameExemplo(){
super("Network Cable By Ramiro Ramos");
Container pane1 = this.getContentPane();
pane1.setLayout(new GridLayout(2,1));

JPanel pane2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel pane3 = new JPanel(new FlowLayout(FlowLayout.LEFT));

comboMarcação.addItem("Crescente");
comboMarcação.addItem("Decrescente");






pane2.add(labelMarcação);
pane2.add(comboMarcação);

pane1.add(pane2);
pane1.add(pane3);

//o método getItemAt(int) retorna o valor do item através do índice
//o índice é igual ao de um array, onde o primeiro item é igual a 0
System.out.println(comboMarcação.getItemAt(6) + "/" +
comboMarcação.getItemAt(18));

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(310, 120);
this.setResizable(false);
this.setVisible(true);



    if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("crescente")){    
            String marcacao = JOptionPane.showInputDialog(null,"Informe a marcação");  
            float tamanho = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o tamanho"));  
            JOptionPane.showMessageDialog(null, marcacao+tamanho);  
    }   




}
}

Não esta compilando… oq poderia ser?

chibana

boa tarde novamente, então…teria como vc mostrar o erro que está dando? eu estou no trabalho e por isso não posso ficar rodando programas aqui, sorry. Quanto a incomodar, não se preocupe com isso, estamos aqui para ajudar sempre =D

Ramiroinjar

Po velho brigadão… o erro é esse

Erro: O método principal não foi encontrado na classe JFrameExemplo; defina o método principal como:
public static void main(String[] args)

chibana

Ramiroinjar:

Po velho brigadão… o erro é esse

Erro: O método principal não foi encontrado na classe JFrameExemplo; defina o método principal como:
public static void main(String[] args)

isso significa que tá faltando o método main, ou seja, está faltando o inicio.
Em java, para começar a executar é necessário mostrar por onde começa, e se mostra da seguinte maneira, por exemplo…

public class suaClasse{
public static void main(String[] args){
  //seu código aqui dentro
}

}

deu para entender?? =)

Ramiroinjar

chibana:
Ramiroinjar:

Po velho brigadão… o erro é esse

Erro: O método principal não foi encontrado na classe JFrameExemplo; defina o método principal como:
public static void main(String[] args)

isso significa que tá faltando o método main, ou seja, está faltando o inicio.
Em java, para começar a executar é necessário mostrar por onde começa, e se mostra da seguinte maneira, por exemplo…

public class suaClasse{
public static void main(String[] args){
  //seu código aqui dentro
}

}

deu para entender?? =)

Entendi sim, mais no caso deu outro erro… acho q vou desistir… tenho q estudar mais… kkkk

o erro agora é esse

Exception in thread main java.lang.RuntimeException: Uncompilable source code - illegal start of expression

at JFrameExemplo.main(JFrameExemplo.java:12)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

o codigo ficou assim…

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.*;

public class JFrameExemplo{  
public static void main(String[] args){  
    
    
    

private JLabel labelMarcação = new JLabel("Informe o Tipo de Marcação:");// mensagem de pedido

/*JComboBox apresenta uma lista drop-down com as opções. O JComboBox pode ter seu texto editado ou não Quando ele não editado os únicos valores que ele aceita são os valores presentes na lista drop-down*/
private JComboBox comboMarcação = new JComboBox();


public JFrameExemplo(){
super("Network Cable By Ramiro Ramos");
Container pane1 = this.getContentPane();
pane1.setLayout(new GridLayout(2,1));

JPanel pane2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel pane3 = new JPanel(new FlowLayout(FlowLayout.LEFT));

comboMarcação.addItem("Crescente");
comboMarcação.addItem("Decrescente");






pane2.add(labelMarcação);
pane2.add(comboMarcação);

pane1.add(pane2);
pane1.add(pane3);

//o método getItemAt(int) retorna o valor do item através do índice
//o índice é igual ao de um array, onde o primeiro item é igual a 0
System.out.println(comboMarcação.getItemAt(6) + "/" +
comboMarcação.getItemAt(18));

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(310, 120);
this.setResizable(false);
this.setVisible(true);



    if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("crescente")){    
            String marcacao = JOptionPane.showInputDialog(null,"Informe a marcação");  
            float tamanho = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o tamanho"));  
            JOptionPane.showMessageDialog(null, marcacao+tamanho);  
    }   


}
}
Ramiroinjar

chibana:
Ramiroinjar:

Po velho brigadão… o erro é esse

Erro: O método principal não foi encontrado na classe JFrameExemplo; defina o método principal como:
public static void main(String[] args)

isso significa que tá faltando o método main, ou seja, está faltando o inicio.
Em java, para começar a executar é necessário mostrar por onde começa, e se mostra da seguinte maneira, por exemplo…

public class suaClasse{
public static void main(String[] args){
  //seu código aqui dentro
}

}

deu para entender?? =)

Entendi sim, mais no caso deu outro erro… acho q vou desistir… tenho q estudar mais… kkkk

o erro agora é esse

Exception in thread main java.lang.RuntimeException: Uncompilable source code - illegal start of expression

at JFrameExemplo.main(JFrameExemplo.java:12)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

o codigo ficou assim…

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.*;

public class JFrameExemplo{  
public static void main(String[] args){  
    
    
    

private JLabel labelMarcação = new JLabel("Informe o Tipo de Marcação:");// mensagem de pedido

/*JComboBox apresenta uma lista drop-down com as opções. O JComboBox pode ter seu texto editado ou não Quando ele não editado os únicos valores que ele aceita são os valores presentes na lista drop-down*/
private JComboBox comboMarcação = new JComboBox();


public JFrameExemplo(){
super("Network Cable By Ramiro Ramos");
Container pane1 = this.getContentPane();
pane1.setLayout(new GridLayout(2,1));

JPanel pane2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel pane3 = new JPanel(new FlowLayout(FlowLayout.LEFT));

comboMarcação.addItem("Crescente");
comboMarcação.addItem("Decrescente");






pane2.add(labelMarcação);
pane2.add(comboMarcação);

pane1.add(pane2);
pane1.add(pane3);

//o método getItemAt(int) retorna o valor do item através do índice
//o índice é igual ao de um array, onde o primeiro item é igual a 0
System.out.println(comboMarcação.getItemAt(6) + "/" +
comboMarcação.getItemAt(18));

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(310, 120);
this.setResizable(false);
this.setVisible(true);



    if(((String) comboBox.getSelectedItem()).equalsIgnoreCase("crescente")){    
            String marcacao = JOptionPane.showInputDialog(null,"Informe a marcação");  
            float tamanho = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o tamanho"));  
            JOptionPane.showMessageDialog(null, marcacao+tamanho);  
    }   


}
}
Criado 27 de fevereiro de 2013
Ultima resposta 27 de fev. de 2013
Respostas 11
Participantes 3