所以我无法添加使用addActionListeners()方法的actionlisteners,它位于某个system.out.printlns之间,因此我可以告诉该方法实际上正在工作。为什么我的行动听众不工作?
protected void whoFirst(String first) {
int currPlayer = 0;
System.out.println("Hello");
addActionListeners();
System.out.println("How are you?");
if(first == "player1") {
player1.setVisible(true);
currPlayer = 1;
}
if(first == "player2") {
player2.setVisible(true);
currPlayer = 2;
}
}
该插件的ActionListener方法我已经尝试了许多不同的方法,如制作类实现一个ActionListener,并使用player1Cards[i].addActionListener(this);
......这没有工作,所以我改成这样:
private void addActionListeners() {
System.out.println("Number of players = : " + players);
for(int i = 0; i == player1Cards.length ; i++) {
if(players == 2) {
player1Cards[i].addActionListener(e -> cardActions());
player2Cards[i].addActionListener(e -> cardActions());
}
if(players == 3) {
player1Cards[i].addActionListener(e -> cardActions());
player2Cards[i].addActionListener(e -> cardActions());
player3Cards[i].addActionListener(e -> cardActions());
}
if(players == 4) {
player1Cards[i].addActionListener(e -> cardActions());
player2Cards[i].addActionListener(e -> cardActions());
player3Cards[i].addActionListener(e -> cardActions());
player4Cards[i].addActionListener(e -> cardActions());
}
}
}
这是它现在是如何,找到一个Java 8教程(我使用Java 8,所以应该罚款后)? 如果它不明显JButtons在一个集合和所有球员相同的大小获得相同的金额开始。这是我的方法,应该调用无论哪个球员去第一...但它永远不会打印一行到控制台...
private void cardActions() {
System.out.println("Whats up?");
}
我觉得这应该在任何一种情况下都工作,但如果任何人有任何建议,将有助于这将是太棒了。提前致谢。
因此,目前我可以点击任何JButtons - 在任何可见的框架上,没有任何东西会打印到控制台。 –
玩家人数=:是否打印? – bradimus
**不要。永远。**比较字符串与'=='!总是使用'equals()'方法。我们可以在第一个变量被设置的地方显示你的代码吗? –