Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中如何在其他类的方法中访问变量_Java_Oop - Fatal编程技术网

java中如何在其他类的方法中访问变量

java中如何在其他类的方法中访问变量,java,oop,Java,Oop,头等舱 public class component { public static void setComponents(JPanel panel) { panel.setLayout(null); JLabel userLabel = new JLabel("User ID"); userLabel.setBounds(10,20,80,25); panel.add(userLabel); JLabel passwordLabel = new JLab

头等舱

public class component {
public static void setComponents(JPanel panel) {
    panel.setLayout(null);
    JLabel userLabel = new JLabel("User ID");
    userLabel.setBounds(10,20,80,25);
    panel.add(userLabel);
    JLabel passwordLabel = new JLabel("Password");
    passwordLabel.setBounds(10,50,80,25);
    panel.add(passwordLabel);
    JTextField textfield = new JTextField(20);
    textfield.setBounds(100,20,180,25);
    panel.add(textfield);
    JPasswordField password = new JPasswordField();
    password.setBounds(100,50,180,25);
    panel.add(password);
    JButton loginButton = new JButton("Login");
    loginButton.setBounds(100,100,100,25);
    panel.add(loginButton);
    loginButton.addActionListener(new ButtonListener());
    panel.add(loginButton);

}
二等舱

public class ButtonListener extends component  implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
    if(e.getSource()==loginButton)
}
}

问题出在二等舱的登录按钮上。 错误:无法解析出现的符号“loginButton”。 我无法使用第一类的方法访问loginButton。我尝试过不同的方法
但是无法解决此问题。

对于快速原型,您可以将
JButton loginButton
定义为类字段,这样您就可以从其他类访问它。例如:

public class component {
    public static JButton loginButton = new JButton("Login");
    public static void setComponents(JPanel panel) {
    ...
    }
}

为此,必须使用实例变量/方法(可能是构造函数)。而且,类名是按照约定写的。