我正在使用一个名为 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);
}