私はメソッドが実際に働いていることを知ることができるように、いくつかのsystem.out.printlnsの間にあるメソッドaddActionListeners()を使用して、actionlistenersを追加するのに問題があります。なぜ私のアクションリスナーは機能していませんか?
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());
}
}
}
:
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);
を使用するなど、さまざまな方法を試してみましたので、私はこれに変更しましたこれは現在、Java 8のチュートリアルを見つけた後です(私はJava 8を使用していますので、うまくいくはずです) JButtonがコレクション内にあり、すべてのプレーヤーが同じサイズカードの最初から始める。これは私がこのように感じる先攻プレイヤーに関係なく呼び出すことになっている私の方法です...しかし、それはコンソールにラインを印刷したことがない...
private void cardActions() {
System.out.println("Whats up?");
}
は例のいずれかで働いているはずですが、誰かがそれが幻想的になるのに役立つ提案があれば。前もって感謝します。
現在のところ、JButtonのいずれかをクリックすることができます。表示されているフレームで何も表示されず、コンソールに何も印刷されません。 –
'Number of players =:'は印刷されますか? – bradimus
**しないでください。 **文字列と '=='を比較する!必ず 'equals()'メソッドを使用してください。 'first'変数が設定されている場所でコードを表示できますか? –