繁体   English   中英

为什么我不能用这种方法从JFrame中删除JPanel?

[英]Why can't i remove a JPanel from the JFrame in this method?

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

    }

您是否尝试过重新粉刷屏幕?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM