[RESOLVIDO]Selecionar ítem COMBOBOX e JFreeChart

4 respostas
FelipeGalli

Boa Tarde Pessoal,

Dúvida de iniciante!Meu primeiro post!

Seguinte, Estou usando JFreeChart para criar um grafíco,até aí tudo bem,

esse cara que faz meu grafico conecta com o banco e cria o grafico de acordo com uma STRING que eu passo para ele,

Eu gostaria de fazer um Combobox com as opções de String que tem dentro do meu banco aí selecionar no COmboBox e jogar dentro desse cara que faz o Grafico

Já pesquisei pra K******* e todos falam do get.setSelectItem... mais não consegui usar e aonde eu coloco esse cara ?

Bom se estiver faltando inforções eu acrescento
Estou usando JFrechar e NetBeans,

Tenho apenas um Jframe com um Combobox.

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {


        GraficotFactory g = null;
        try {
            g = new GraficotFactory();
        } catch (SQLException ex) {
            Logger.getLogger(TesteComboBox.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(TesteComboBox.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {

            g.criarGrafico("Felipe ZF Lenksysteme", "200");
        } catch (SQLException ex) {
            Logger.getLogger(TesteComboBox.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            g.salvar(new FileOutputStream("teste4.png"));
        } catch (IOException ex) {
            Logger.getLogger(TesteComboBox.class.getName()).log(Level.SEVERE, null, ex);
        }
        JPanel teste = new JPanel();
        teste.add(g.getPanel());
        JFrame frama = new JFrame();
        frama.add(g.getPanel());
        frama.pack();
        frama.setVisible(true);
    }

4 Respostas

Eder_Peixoto

Olá Felipe,

Seu problema seria exatamente o quê:

  1. Montar o JComboBox?
    Leia sobre o método setModel(ComboBoxModel aModel) .

  2. Com o JComboBox instanciado (criado), como obter o objeto selecionado?
    O método getSelectedItem() deve ser útil.

FelipeGalli

Em primeiro lugar,Obrigado pela resposta,

Exatamente rs esses dois assuntos são meu problema,

Digamos que eu entendi como montar na teoria mais não consegui fazer na prática!

Eu acho que me ajudariam com algum exemplo simples de um jComboBox simples com algumas Strings
aí uso uma dessas String para alguma coisa ,no meu caso jogar para fazer o grafico,

se alguem pudesse montar esse generico código para iluminar minha mente rs, acho que mataria a pau meu problema .

Deu para perceber que o meu grafico ta todo dentro do Action Perfomet criado pelo netbeans,

quando coloco pra rodar esse Jframe aí , ele funciona , ele gera um grafico pq eu já to passando uma String pro JFREE fazer o grafico, que é esse “200” aí
aí eu queria ter os itens do comobobox como String para eu jogar aí no lugar,

Mais confesso que não sei nem como montar, eu joguei no netbeans o jcombobox no meu do Jframe e dei nome aos itens, não sei se tem que fazer algo, intanciar configurar rs, Primeiro post rs rs…

Grato,

viniciusfaleiro

Assim:

//Implementação de um model para popular um model do JComboBox com uma coluna de uma tabela (Código de alguma coisa por exemplo).
//ATENCAO!!! A melhor maneira de fazer isso seria com representação de dados no seu model. No caso utilizando Beans… Más para estudos, podemos fazer assim:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ServerSide;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.swing.ComboBoxModel;
import javax.swing.event.ListDataListener;

/**
 *
 * @author Vinicius
 */
public class MyBoxModel implements ComboBoxModel{
    ArrayList<String> data = new ArrayList();
    
    String selected_item = null;
    
    public MyBoxModel(){
        try{
            Connection con = null; //Pega sua conexão aqui
            PreparedStatement stm = con.prepareStatement("SEU SELECT"); //Esse select deve trazer apenas uma coluna para facilitar.(coluna q vai no Combobox)
            
            ResultSet rs = stm.executeQuery();
            
            while(rs.next()){
                data.add(rs.getString("NOME DA COLUNA")); //adiciona no arraylist todos os itens selecionados
            }
            
            try{
                //tenta selecionar o primeiro item do array
                
                selected_item = data.get(0);
            }catch(Exception ex){
                ex.printStackTrace();
            }
            
        }catch(Exception e){
            e.printStackTrace();
            
            //trate sua exeção
        }
    }

    public void setSelectedItem(Object anItem) {
        selected_item = data.get(data.indexOf(anItem));
    }

    public Object getSelectedItem() {
       return selected_item;
    }

    public int getSize() {
        return data.size();
    }

    public Object getElementAt(int index) {
        return data.get(index);
    }

    public void addListDataListener(ListDataListener l) {
        //TO DO NOTHING
    }

    public void removeListDataListener(ListDataListener l) {
        //TO DO NOTHING
    }
    
}

Como utilizar?

JComboBox box = new JComboBox(new MyBoxModel());

Como pegar o item selecionado?

String t = (String)box.getSelectedItem();

//Agora você pode brincar com os construtores do seu ComboBoxModel… passando por exemplo um select como parametro… Um ArrayList pronto…etc
// Obs… Testa pq acabei de fazer.

FelipeGalli

CARA!!!

Magavilha,Funcionaou que é uma beleza,

Tú é bom mesmo heim…

muito agradecido…

Criado 7 de fevereiro de 2010
Ultima resposta 8 de fev. de 2010
Respostas 4
Participantes 3