如何清除/重置JFrame

我和我的朋友决定开展一个在3个屏幕之间循环的纸牌游戏( Player1HandScreen,Player2HandScreen和FightScreen )。

一旦Player1HandScreenPlayer1HandScreen选择了他们的卡, Player1HandScreen Player1HandScreen导致Player2HandScreen ,其中Player2也会这样做。 然后Player2HandScreen导致FightScreen比较两张牌,一名玩家被宣布为该轮的赢家。

我们遇到的问题是,一旦轮次结束,我们想要清除Player1HandScreen以及Player2HandScreen一旦刷新我们的参数,我们就无法成功更新GUI。

我们已经尝试使用removeAll() ,但是我们无法将其repaint()validate()

我们还研究了super.paintComponents(g)updateUI()但两者super.paintComponents(g)我们带来了希望和梦想。

如果从Container中删除任何JComponent(最后只有一次),需要告诉Container,

 removeAll()//or remove(JComponent) revalidate(); repaint(); 

尝试使用以下方法清除Jpanel:

 paper.clearRect(0, 0, (int)panel.getSize().getWidth(), (int)panel.getSize().getHeight 

纸张类似于: Graphics paper = panel.getGraphics();