Java的TextField无法解析,看不到

标签 java swing user-interface actionlistener jtextfield

我一直在尝试处理一个类项目,在该项目中我必须设置一个面向 GUI 的转换程序,并且我试图将数据从我的类的方法传递到 ActionListener,但监听器是告诉我文本字段不存在。它位于同一个包和类中,我什至尝试像父类(super class)一样扩展它,但无济于事。

    package convertionProg;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;    
    import javax.swing.*;

    public class feetToMeter extends JFrame{

    JTextField ftomTextField = new JTextField(10);

    public static void Ftom(int d)
    {
        JFrame ftomWindow = new JFrame();
        ftomWindow.setTitle("Conversion Program: Feet to Meters");
        ftomWindow.setSize(200, 125);
        ftomWindow.setVisible(true);
        ftomWindow.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);          
        JPanel ftomPanel = new JPanel();
        ftomWindow.add(ftomPanel);          
        JLabel ftomLabel = new JLabel("Enter a distance in meters: ");
        JButton convert = new JButton("Convert");           
        ftomPanel.add(ftomLabel);
        ftomPanel.add(convert);
        ftomPanel.add(ftomTextField);           
        convert.addActionListener(new convertListener());
    }

    private static class convertListener implements ActionListener 
    {   
            public void actionPerformed(ActionEvent e)
            {
                final double CONVERSION = 0.3048;
                String input;   //Store input
                double meters;  //Stores meter output                   
                input = ftomTextField.getText();
                meters = Double.parseDouble(input);
                JOptionPane.showMessageDialog(null, "Distance in Meters is" + meters + "m");
            }
    }
}

最佳答案

您需要考虑变量的范围。在 actionPerformed 方法中,ftomTextField 不可见。将 ftomTextField 声明为全局。

  public class feetToMeter extends JFrame{

    static JTextField ftomTextField = new JTextField(10);// Declare here.

    public static void Ftom(int d){
      ..............
    }
   }

关于Java的TextField无法解析,看不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20184141/

相关文章:

java - 如何在 java 中移动 char 数组的值?

java - 将 Jackson JSON 对象引用转换为 JSON.Net 对象引用

java - 如何在 Java Swing 中显示英镑 (£) 符号?

java - 让客户端等待输入,客户端-服务器

swift - iOS DispatchQueue 和无法更新 UI

java - 如何序列化限制序列化深度的嵌套对象?

Java 组合框 + 图像图标

java - onclick 我想获取 JFrame 上存在的 JPanel 的名称

java - 在 Windows 8 中为 Java 应用程序提供 Metro 外观

c# - 在 Silverlight 中调用 Dispatcher.CheckAccess() 是好的形式吗?