言归正传,我无法从外部 ActionListener 类中写入静态双变量或 JTextField。我正在制作一个高级计算器,为了让事情变得更简单,我正在尝试创建 GUI,实现其按钮和其他功能,并且我正在尝试将 ActionListeners 放在另一个类中。在 Eclipse 中,它说我需要将计算器的变量设为静态,但将它们设为静态,我无法再给它们写信并显示答案。这是我的代码:
public static JButton num0, num1, num2, num3, num4, num5, num6, num7, num8, num9;
public static double tempNum1;
public static double tempNum2;
public static boolean pointOn = false;
public static int APC = 1;
public GUI(){
GUINumListener numListener = new GUINumListener();
num0.addActionListener(numListener);
num1.addActionListener(numListener);
num2.addActionListener(numListener);
num3.addActionListener(numListener);
num4.addActionListener(numListener);
num5.addActionListener(numListener);
num6.addActionListener(numListener);
num7.addActionListener(numListener);
num8.addActionListener(numListener);
num9.addActionListener(numListener);
}
在 GUINumListener 类中:
public class GUINumListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if (e.getActionCommand().equals(GUI.num0)){
GUI.tempNum2 *= 10;
}else if (e.getActionCommand().equals(GUI.num1)){
if (GUI.pointOn = false){
GUI.tempNum2 = (GUI.tempNum2 * 10) + 1;
}else{
GUI.tempNum2 = (GUI.tempNum2 * Math.pow(10, GUI.APC) + 1) / Math.pow(10, GUI.APC);
GUI.APC++;
}
GUI.ansField.setText(Double.toString(GUI.tempNum2));
}
}
在程序中单击一个数字不会在 ansField 字段中输出它。帮助!谢谢