首页 > 解决方案 > java中如何访问其他类的方法中的变量

问题描述

一级

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”。我无法在第一类方法中访问 loginButton。我尝试了不同的方法,但无法解决。

标签: javaoop

解决方案


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

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

推荐阅读