Metodo ao abrir um jPanel

5 respostas
J

Boa noite,

Tenho um menu que chama um jPanel com alguns componentes na tela... Quando este jPanel abrir eu quero que o primeiro jComboBox venha populado (resultado de uma pesquisa no banco), terei um método que faz esta consulta, porém não sei como 'startar' esse método no momento de abrir esta tela...

Esta tarde, vou dormir um pouco :-). mais tarde vou ver se pesquiso mais sobre isso (acredito ter que usar eventos, mas n sou muito familiarizado com eles :frowning: ), ma deem umas dicas aí também, serão bem-vindas.

abraço pessoal,

5 Respostas

D

E aí beleza?

Pesquise sobre WindowEvent e WindowListener

J

death:
E aí beleza?

Pesquise sobre WindowEvent e WindowListener

Hoje voltei a tentar fazer este trabalho… Já consegui algumas coisas, porém queria ver com vcs o que estou fazendo errado, pois não esta funcionando esta parte.
O que acontece é que tenho isso no jPanel que abre com o dropDown que quero q seja populado:

@Override public void windowOpened(WindowEvent e) { List<String> lst = con.getAllOwners(); for (String s : lst) { jComboBoxProprietario.addItem(s); } }
*** Adicionei o implements … assim --> [ public class JPanelInformacoesEstimativasTabelas extends javax.swing.JPanel implements WindowListener{ ]

O WindowOpened não ta funcionando, pois n acontece nada, daí coloquei um botão que chama o código que está no WindowOpened e dá o erro que está comentado no código abaixo (outra classe onde tenho o método getAllOwners() )

public List<String> getAllOwners() {
        List<String> lst = new LinkedList<String>();
        
        String SQLstr = "select distinct(owner) from all_tables;";
        JOptionPane.showMessageDialog(null, "-->" + user +"  -  "+ pass+"  -  "+url);  // teste para ver se ta pegando url, user e pass corretamente, e está.

        try {
           // Connection con = getConnection();
            Connection con = DriverManager.getConnection(url,user,pass);
            Statement sta = con.createStatement();
            ResultSet res = sta.executeQuery(SQLstr);
            while (res.next()) {
                lst.add(res.getString("OWNER"));
                JOptionPane.showMessageDialog(null, "-->" + res.getString("OWNER")); /* teste pra ver se ta pegando os owners, porém nem chega aqui, mostra o exception direto (Erro ao capturar owners: ORA-00911: caractere inválido.), logo após eu clicar em ok na msg que mostra a url, user e pass*/
            }
            res.close();
            sta.close();
            con.close();
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Erro em capturar owners: " + ex.getMessage());
        }
        return lst;
    }

Tenho 2 problemas, o drop jComboBoxProprietario não está sendo populado e o windowOpened não ta funcioando, se puderem me ajudar nisso agradeço…

J

alguém poderia dar um help :wink:

Abraço.

S

Tem que adicionar este listener à um objeto de janela (JDialog ou JFrame) onde este JPanel estará.

J

Boa tarde,

Aproveitei o feriado para fazer este trabalho, porém não ta funcionando direito, estou fazendo com outro colega (que me passou a parte gráfica meio que feita ) eu tenho quie popular os drops que  estão criados, porém automático não deu, como expliquei acima, mas pra testar meu método [b]getAllOwners()[/b] eu coloquei um botão chamando ele e populando o drop e mesmo assim não funcionou... Alguém poderia me informar o que tem de errado nele? Está no post anterior o trecho que chamo dentro do WindowOpened, porém eu coloquei o mesmo código num botão e qdo logo e clico no botão nada acontece (e se eu fazer o query que  no método pra pegar os users (String SQLstr = "select distinct(owner) from all_tables;"; ) funciuona normalmente e traz vários.... )

grato

Criado 4 de maio de 2013
Ultima resposta 30 de mai. de 2013
Respostas 5
Participantes 3