gpt4 book ai didi

java - 从独立类的 JTextBox 返回空值

转载 作者:行者123 更新时间:2023-11-30 02:22:18 25 4
gpt4 key购买 nike

有没有办法或者可以将actionListener创建为独立类?我设法使用 loginView 类创建按钮监听器,它工作得很好,但我正在尝试从另一个类(LoginLogic)实现登录功能。

我遇到的问题是,当我尝试 println 时,它什么也没返回。

loginView.java

loginLogic lg1 = new loginbtn
final JTextField user;
JButton login = new JButton("test");

user = new JTextField;
..
..
..
panel.add(lg1.loginBtn(user.getText()), cs)

// ---- This will work but i am trying to load the function from loginLogic----
// login.addActionListener(new ActionListener(){
// @Override
// public void actionPerformed(ActionEvent arg0){
// String userText = user.getText();
// System.out.println(username);
// });

}

loginLogic.java

..
public class loginLogic{
public Component loginbtn(String username){
JButton login = new JButton("submit");
login.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0){
System.out.println(username);
});
return login;
}
}

提前谢谢你:)

最佳答案

像下面这样的匿名内部类只在另一个类中有意义,因为如果唯一使用另一个类的类是 JFrame 类,那么让另一个类的 Action 监听器有什么意义呢?我看到的唯一目的是也许干净的代码。

如果你想将actionListener实现到一个单独的类中,你可以:

public class ClickListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Clicked!");
}
}

然后到你的 JFrame 类:

button.addActionListener(new ClickListener());

关于java - 从独立类的 JTextBox 返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com