CardPanel という JPanel サブクラスを使用して画像を表示しています。hitYourself() メソッドで currentPanel という CardPanel を削除し、CardPanel の新しいインスタンスを currentPanel フィールドに割り当ててから、新しい CardPanel オブジェクトを JFrame に追加しようとしています。何らかの理由で、hitYourself() メソッドからパネルを削除したり、新しい CardPanel を追加したりできません。hitYourself のコードを play メソッドに入れると、期待どおりに動作します。関連するイベントかどうかはわかりませんが、 JButton に追加した ActionListener を介して hitYourself メソッドが呼び出されています。ActionListener が機能しており、メソッドが呼び出されることを確認しました。hitYourself() で JFrame から JPanel を削除できないのはなぜですか?
public void play(){
yourCards.add(deckValues[getAvailableCardIndex()]);
yourCards.add(deckValues[getAvailableCardIndex()]);
dealerCards.add(deckValues[getAvailableCardIndex()]);
dealerCards.add(deckValues[getAvailableCardIndex()]);
currentPanel = new CardPanel(yourCards,dealerCards);
frame.add(currentPanel);
}
public void hitYourself(){
yourCards.add(deckValues[getAvailableCardIndex()]);
frame.remove(currentPanel);
currentPanel = new CardPanel(yourCards,dealerCards);
frame.add(currentPanel);
}