Pergunta

Estou tentando fazer uma contribuição nameField aparecer em um Label chamado label1 após um Button chamado button1 é clicado.Neste momento diz:'txt' e eu entendo o porquê.Mas não sei como posso usar o barbante!Alguém pode me explicar o que estou fazendo de errado e como usar essa string corretamente?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class thisismytest2 {
    public static void main(String[] args) {

        final JFrame frame = new JFrame();  
        JPanel panel = new JPanel();    
        JTextField nameField = new JTextField("...", 2);    
        JButton button1 = new JButton();
        final JLabel label1 = new JLabel();
        label1.setText("txt");
        label1.setVisible(false);
        String txt = nameField.getText();

        frame.add(panel);
        panel.add(button1);
        panel.add(label1);
        frame.setSize(200,200);
        frame.setVisible(true);
        panel.add(nameField);
        frame.setSize(600,400); 
        nameField.setBounds(400, 40, 400, 30);

        button1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {

                label1.setVisible(true);
            }
        });
        }
        }
Foi útil?

Solução

Você está definindo o texto do rótulo antes de clicar no botão para "txt".Em vez disso, quando o botão é clicado, ligue setText() na etiqueta e passe o texto do campo de texto.

Exemplo:

label1.setText(nameField.getText()); 

Outras dicas

no seu método de ação executada, chame:

label1.setText(nameField.getText());

Desta forma, quando o botão for clicado, o rótulo será atualizado para o texto nameField.

o getText método retorna uma String, enquanto o setText recebe uma String, então você pode escrevê-la como label1.setText(nameField.getText()); em seu ouvinte.

Configure um DocumentListener em nameField.Quando nameField for atualizado, atualize seu rótulo.

http://download.oracle.com/javase/1.5.0/docs/api/javax/swing/JTextField.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top