2

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

一旦 Player1 从 中选择了他们的卡Player1HandScreen,就会Player1HandScreen导致Player2HandScreenPlayer2 做同样的事情。然后Player2HandScreen导致FightScreen比较两张牌的位置,并宣布一名玩家为该轮的获胜者。

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

我们曾尝试使用removeAll(),但无法使用repaint()validate()

我们也调查过super.paintComponents(g)updateUI()但都给我们留下了破碎的希望和梦想。

4

2 回答 2

4

if you remove any JComponent(s) from Container (only once on the end), is needed tell to Container for,

removeAll()//or remove(JComponent)
revalidate();
repaint();
于 2011-06-07T05:51:46.370 回答
0

尝试使用以下命令清除 Jpanel:

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

纸是这样的:Graphics paper = panel.getGraphics();

于 2016-08-30T13:42:41.590 回答