如何通过单击按钮更改我的JTextField

时间:2015-06-27 04:13:40

标签: jbutton jtextfield

我的txtDisplay错误并且表示不能引用在不同方法中定义的内部类中的非最终变量txtDisplay。如果我实现ActionListner并稍后将其actionPerformed仍然无效。现在我只想单击我的JButton并让该操作在我的JTextField中设置文本。 我一直在试图发布这个问题时遇到错误。我也试图找出发布问题的正确方法,这样我就可以在不烦人的情况下得到回复。 谢谢

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

public class ALTest 
{
    public ALTest()
    {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    JButton button = new JButton("Btn");
    JTextField txtDisplay = new JTextField("Here's your text field");   
            button.addActionListener (new ActionListener () 
            {
                public void actionPerformed(ActionEvent click)
                {
                    txtDisplay.setText("test");             
                }
            });
    panel.add(txtDisplay);
    frame.add(panel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,400);
    frame.setVisible(true);         
    panel.add(button);


    }

    public static void main (String[] args)
    { 
        new ALTest();
        }   
    }

1 个答案:

答案 0 :(得分:0)

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

class ALTest 
{
    JTextField txtDisplay;
    public ALTest()
    {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    JButton button = new JButton("Btn");
    txtDisplay = new JTextField("Here's your text field");   
            button.addActionListener (new ActionListener () 
            {
                public void actionPerformed(ActionEvent click)
                {
                    txtDisplay.setText("test");             
                }
            });
    panel.add(txtDisplay);
    frame.add(panel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,400);
    frame.setVisible(true);         
    panel.add(button);


    }

    public static void main (String[] args)
    { 
        new ALTest();
        }   
    }

这很有效。