Recebendo um valor do combo

Boa tarde.

Tenho um cobo criad(segue código):


package Suporte;

import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;

public class combo extends javax.swing.JFrame {

    JComboBox combo = null;
    MyComboModel model = null;
    JButton btOK = null;
    Formulario form = new Formulario();

    public combo() {

        setTitle("Assunto");
        setLayout(new GridLayout(1, 3));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        final ArrayList<String> ast = new ArrayList<String>();
        ast.add("Monitor");
        ast.add("Teclado");
        ast.add("Mouse");
        ast.add("Rede");
        ast.add("Internet");
        ast.add("Telefonia fixa");
        ast.add("Telefonia Movel");
        ast.add("Office");
        ast.add("Impressora");
        ast.add("Suporte Brassuco");
        ast.add("DataSul");
        ast.add("Est. Comercial");
        ast.add("Exactus");
        ast.add("IntraSystem");
        ast.add("InfoFisc");

        model = new MyComboModel(ast);

        combo = new JComboBox(model); //Aqui ele cria o combo...
        btOK = new JButton("OK"); //Aqui ele cria o botão...
        initListeners(); //Inicia a ação do botão.




        getContentPane().add(combo); //Aqui ele adiciona o combo...
        add(btOK); //Aqui ele adiciona o botão...
        setLocationRelativeTo(null); //Posiciona no centro da tela.

        pack();



    }
    /*-- Inicio do método de ação do botão OK --*/

    public void initListeners() {
        btOK.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                new Registro().setVisible(true);
                dispose();
            }
        });

    }
    /*-- Fim do método de ação do Botão OK --*/

    class MyComboModel extends DefaultComboBoxModel {

        public ArrayList<String> ast = null;

        public MyComboModel(ArrayList<String> ast) {
            this.ast = ast;
        }

        @Override
        public Object getElementAt(int index) {
            return this.ast.get(index);
        }

        @Override
        public Object getSelectedItem() {
            return super.getSelectedItem();
        }

        @Override
        public int getSize() {
            return this.ast.size();
        }
    }
}

Preciso que quando clique no botão que está adicionado, ele receba o valor que selecionei no combo!!
Dúvida é, como pegar o valor do combo???

Agradeço!

NomeDoCombo.getSelectedItem().toString();

se não me engano é isso

Seria :

 combo1.getSelectedItem();

??

Se for isso, pensei em fazer assim:

if(combo1.getSelectedItem().equals("Valor 1")){
JOptionPane.showMess...;
}

Ou nada a ver com isso?

Então, o nome do combo que você diz é o nome da classe ou no meu caso o AST ?

combo é o nome da classe.

Consegui, consegui…

Eu estava colocando o getSelectedItem() antes da ação do botão, ou seja, ele não estava com nenhum valor ainda…ele me mostrava vazio!!

Consegui :slight_smile:

Muito obrigado!