我在java中有一个我无法解决的问题,我看了这个错误,但没有什么像我的。我尝试在eclipse中使用快速修复,但它只给了我更多的错误。 错误在第53行 这是代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AA extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JLabel label;
private JButton Button;
private JTextField TextField;
public AA() {
setLayout(new FlowLayout());
label = new JLabel("Backup ");
add(label);
label = new JLabel("Save name");
add(label);
TextField = new JTextField(15);
add(TextField);
Button = new JButton("Backup");
add(Button);
label = new JLabel("Restore ");
add(label);
label = new JLabel("Backup name");
add(label);
TextField = new JTextField(15);
add(TextField);
Button = new JButton("Restore");
add(Button);
event e = new event();
Button.addActionListener(e);
}
public static void main (String args[]) {
AA gui = new AA();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setVisible(true);
gui.setSize(1360, 600);
gui.setTitle("Save Backup 2");
event gui = new event();
}
public class event implements ActionListener {
public void actionPerformed(ActionEvent e) {
label.setText("Done");
}
}
}
答案 0 :(得分:0)
您有两个名为gui
的变量。重命名其中一个
public static void main (String args[]) {
AA gui = new AA(); // <-- one
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setVisible(true);
gui.setSize(1360, 600);
gui.setTitle("Save Backup 2");
event gui = new event(); // <-- two
}
更改
event gui = new event();
到
AA.event guiEvent = gui.new event()
。
这会将内部event
实例与AA
(gui
)的封闭实例相关联。
答案 1 :(得分:0)
AA gui = new AA();
这声明了一个名为gui
的变量。
event gui = new event();
在相同的范围(相同的方法)中,您声明另一个名为gui
的变量。重命名这两个。
作为旁注,只需重命名其中一个就不会结束你的问题。应该像这样创建第二个变量(我们称之为gui2
):
event gui2 = gui.new event();
这是因为event
是一个非静态嵌套类,它需要对包含类的引用。