提问人:Hannah Lee 提问时间:9/12/2020 更新时间:9/12/2020 访问量:45
如何在收到用户输入变量后才激活类?
How to activate a class ONLY after receiving user input variable?
问:
我想在获取用户输入后激活某个类。但是,它与用户输入的摆动框架同时实现。因此,它不能有效地接收用户输入变量并给出“空指针”异常。
我搜索了互联网并获得了使用“ActionListener”接口的想法,但没有实质性内容来触发操作(对于addActionListener),它没有按预期工作。
这是代码的主要条目。
public static void main(String[] args) {
new Controller();
}
和控制器
private ActionListener listener;
public Controller(){
SwingUtilities.invoke(new MyRunnable(listener));
}
和 MyRunnable
public class MyRunnable implements Runnable, ActionListener{
private ActionListener listener;
private List<Player> playerInfo;
private List<Node> playerNode;
public MyRunnable(ActionListener listener){
this.listener = listener;
}
@Override
public void run(){
new NCT(playerInfo, playerNode);
}
@Override
public List<Player> setAllPlayers() {
return playerInfo = listener.setAllPlayers();
}
@Override
public List<Node> setAllNodes() {
return playerNode = listener.setAllNodes();
}
在实现 ActionListener 时,需要 2 个方法中的@Override,因为操作类的原始源假定会带来用户输入。
public PlayerRoles(ActionListener listener) {
this.listener = listener;
}
-----Here are setAllPlayers and setAllNodes----
我在这里错过了什么? 我知道我需要将“addActionListener”放到某个地方,但我不知道该放在哪里。 请帮帮我..
谢谢~!!!
答: 暂无答案
评论
Listener
是 Swing UI 系统的特定部分。侦听器的工作通常是从用户那里获取输入(可能是单击按钮),然后快速处理。