Abrindo automático!

10 respostas
M

Pessoal sou novato na área de programação e to com uma duvida acredito que bastante fácil de se resolver mas n to conseguindo resolver essa logica veja só meu problema

eu tenho esse metodo no meu formulario

private void jcb_sActionPerformed(java.awt.event.ActionEvent evt) {                                            
        if (jcb_s.getSelectedItem() == "V") {
            new AGUI(this, true, null, "V");
        }
    }

ele serve para quando eu selecionar no meu combobox a string V ele abrir o form AGUI, ate ai funciona perfeitamente, mas o problema vem depois … tipo
quando eu abro meu formulário do banco de dados contendo registro e no combobox ja esta selecionado V ele abre a tela AGUI ;/ e precisava que a tela AGUI abri-se somente no meu ActionPerformed e nao toda vez que abrir o formulário e tiver selecionado o V no combobox o q faco para mudar isso alguem ja passo por isso? obrigado pela atenção de todos um forte abraco!

EDIT (Moderador) - “altomatico” é o parente do “altomóvel”.

10 Respostas

E

Para comparar 2 strings, nunca use “==” - Java não é Javascript, nem C++, nem C#, nem mesmo Pascal ou VB. Você tem de usar “equals”.

edmarr

String eh um objeto , ou seja se vc vai querer saber se 2 objetos sao iguais vc deve fazer ,

String s = "ab";
Strins sa = "bc";
if(s.equals(sa)){
  System.out.println(" Sao iguais");
}else{
  System.out.println(" Sao diferentes");
}

A saida Sera

Sao diferentes

Agora se vc fizer ,

if(s==sa){}

Desta maneira vc esta comparando se a variavel “s” aponta para o mesmo local que a variavel “sa”.
Diferente de

int a =5;
int b =5;
if(a==b){}
// Desta maneira funciona pois a variaveis sao do tipo primitivo .
M

Certo coloquei assim

private void jcb_sActionPerformed(java.awt.event.ActionEvent evt) {                                               
        if (jcb_s.getSelectedItem().equals("V")) {   
            new AGUI(this, true, null, "V");   
        }   
    }

e quando tento abrir meu formulario ele aponta a seguinte stacktrace

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

aqui

if (jcb_s.getSelectedItem().equals("V")) {

e comparando com == ele vai! porem com o motivo do erro que postei!

o que eu acho estranho e que nao chamo esse metodo no meu construtor chamo ele apenas dentro de um actionperformed em um jbutton e quando carrega a tela ele gera erro em um metodo dentro de uma actionperformed que nao foi acionada pq isso tb? obrigado

edmarr

Coloque assim

if (jcb_s.getSelectedItem() != null){ if (jcb_s.getSelectedItem().equals("V")){ } }

Provavelmento o erro ocorreu por vc tentar usar um metodo que esta sem referencia nenhuma atribuída .

M

blz n aparece mais o erro de null pointer mais o meu problema continua amigo, quando abro um formulario que o combobox esta selecionado o “V” ele gera a acao que era para ocorrer apenas no actionperformed do combobox pq pensa cumigo,
no meu combo tenho 2 opcao “V” e “F” alguns registros eh V ou F, nesse combobox no evento actionperformed eu coloquei para que se eu seleciona-se V ele retorne System.out.println(“V”); e se for F System.out.println(“F”); correto? mas o PROBLEMA eh que quando eiu to na telinha de pesquisa la e seleciono para abrir um registro e ele abre um registro que no combobox esteja “V” registrado, ele retorna System.out.println(“V”); e isso esta errado e para ele me retornar System.out.println(“V”); apenas quando eu selecionar o “V” no combobox e nao toda vez que carregar a tela ele pintar “V” entendeu? se n entendeu posso explica denovo vlw!!

edmarr

Pelo que eu entendi vc esta tendando pegar o valor de Um combobox , infelizmente refente a swing eu nao sei mais como lhe explicar , mas aguarde tem muitas pessoas aqui , que lhe vai ajudar . Bom Estudo .

E

http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html

edipokbelo

o seu comboBox só tem 2 opções (V,F) ou teriam 3 opções(V,F,e uma em branco, ou uma frase )?

e qual opção vem pro default, é V?

M

meu combo so tem 2 opcoes “V” e “F” e por default ele vem como branco e abre normal, mas quando tento abrir um registro no qual setei no meu combo “V” ou “F” ele retorna o System.out.println(“V” ou “F”) sendo q era para retornar isso apenas quando eu clica-se no combo no caso na actionperformed! e nao quando carregar um registro que tenha a string carregada na combo!

B

Abrindo Automatico* (Reforma ortografica) heheheheh to com um problema mais ou menos como o seu!

Criado 10 de setembro de 2009
Ultima resposta 10 de set. de 2009
Respostas 10
Participantes 5