Duvida getText

3 respostas
edipokbelo

eu estava olhando a parte de artigos do fórum, quando cheguei nesse código

package apresentacao;

 import javax.swing.*;  
 import java.awt.*;  
 import java.awt.event.*;  
   
 public class SwingExemplo3 extends JFrame implements ActionListener  
 {  
     JList lista;  
     JButton botaoAdicionar;  
    JTextField textField;  
     JPanel listPanel;  
     JPanel botaoPanel;  
     JScrollPane scroll;  
     DefaultListModel listModel;  
       
     public SwingExemplo3()  
     {  
         super("GUJ - JList");  
           
         textField = new JTextField("Digite algo");  
         botaoAdicionar = new JButton("Adicionar");        
         listModel = new DefaultListModel();  
         listPanel = new JPanel();  
         botaoPanel = new JPanel();  
           
           
         // Adiciona um item inicial na lista  
         listModel.addElement("Item 1");  
         listModel.addElement("Item 2");  
         listModel.addElement("Item 3");  
           
         // Configura a lista e adiciona ao painel  
         lista = new JList(listModel);  
         lista.setVisibleRowCount(3);  
           
         scroll = new JScrollPane(lista);  
           
         listPanel.add(scroll);  
         getContentPane().add(listPanel, BorderLayout.CENTER);  
       
         // Adiciona o campo de texto e o botao ao painel  
         botaoAdicionar.addActionListener(this);  
         botaoPanel.add(textField);                        
         botaoPanel.add(botaoAdicionar);  
           
         getContentPane().add(botaoPanel, BorderLayout.SOUTH);  
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);               
           
         // Mostra a janela  
         pack();  
         setVisible(true);  
     }  
       
     public void actionPerformed(ActionEvent event)  
     {  
         if (textField.getText() != "") {  
             listModel.addElement(textField.getText());  
             getContentPane().invalidate();  
             getContentPane().validate();  
         }         
         else{
        	 JOptionPane.showMessageDialog(null,"nao add");
         }
     }  
          
     public static void main(String args[])  
     {  
         SwingExemplo3 s = new SwingExemplo3();        
     }  
 }

pelo o que eu entendi ali no IF do actionPerformed ele fala se o getText() for diferente de "vazio" então adiciona no listModel.
só que eu deixo o JTextField vazio, e mesmo assim ele continua adicionando o "vazio"
por que?!

3 Respostas

F

tente ao invés do != um equals

marcosharbs

use:

!textField.getText().equals("")
edipokbelo

funcionou.

mas é isso que eu não entendo, quando devo usar == e .equals?

Criado 30 de junho de 2009
Ultima resposta 30 de jun. de 2009
Respostas 3
Participantes 3