无法通过Anonymous类从JTextField获取文本

时间:2014-11-04 22:41:19

标签: java swing jtextfield

基本上,这是需要发生的事情:

    单击
  1. 提交按钮,actionlistener将其选中并打印提交时文本字段中的内容。
  2. 出于某种原因,它没有拿起文本框内的文字? 按顺序打印“提交按钮”! 这是一个愚蠢的问题,但我不习惯匿名课程。我相信问题是变量修饰符。这是我简化的代码:

     public class MainWindw extends JFrame {
    
     public static  JTextField txt1;
     final JButton submit;
    
     public MainWindw()
     {
      //add panel...add textfield etc..
      txt1 = new JTextField();
      submit = new JButton("Submit");
    
    
           submit.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
    
                System.out.println("Submit button pressed" + txt1.getText());}
    
            }
        });
      }
     }
    

1 个答案:

答案 0 :(得分:0)

我尝试过这个解决方案,但它确实有效。除了一些编译错误,我仍然没有看到你的代码中的任何问题,但我认为是因为你简化了代码

public static JTextField txt1;
final JButton submit;

public MainWindw()
{
    JFrame panel = new JFrame();
    txt1 = new JTextField();
    submit = new JButton("Submit");
    panel.setLayout(new FlowLayout());
    panel.add(txt1);
    panel.add(submit);
    submit.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            System.out.println("Submit button pressed" + txt1.getText());
        }
    });
    panel.setSize(300, 300);
    panel.setVisible(true);
}