java:如何根据条件而不是通过操作添加组件?

1wnzp6jl  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(163)

我正在写一个使用swing的游戏,一旦玩家死了,我想进入一个新的面板,在那里我可以处理记分板。这在“jpanel implements actionlistener”类中:

@Override
public void actionPerformed(ActionEvent e) {
    if(!timer.isRunning())
        JLabel gameover=new JLabel("gameover", SwingConstants.CENTER);
        add(gameover);
        revalidate();
        repaint();
    }
}

我在jframe课上也试过这个。然后我在“jframe implements actionlistener”类中尝试了这个弹出式解决方案:

@Override
public void actionPerformed(ActionEvent e) {
    if(!game.timer.isRunning()){
        PopupFactory popfact=new PopupFactory();
        Popup pop=popfact.getPopup(this, end, width/2, height/2); //where end is a JPanel
        pop.show();
        validate();
        repaint();
    }
}

我三个都试过了,都没用。在我的jframe中,所有的东西都显示出来了,我使用cardlayout在面板之间切换,但是我不知道当一个条件变为真的时候,如何改变它们,而不是按下按钮什么的。提前感谢:)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题