从另一种方法调用它后,GUI出现问题,我正在制作多米诺骨牌游戏。java gui显示不正确
在这里的图片,图形用户界面工作正常,并做它应该做的事情,但是在第二个图像中,我试图使用完全相同的GUI然而它是通过不同的方式解析(我有一个开始屏幕,它将调用该方法并使GUI可见)。 在这里,在控制台中,瓦片存储在分配的阵列中,并且也绘制到GUI
第二图像在此,playerVSAI方法被称为在从firstScreen()类一个ActionListener。这个类只是左边显示的窗口。然而,控制台,playerVSAI方法似乎按照预期工作,但是瓷砖的图像不显示。
它执行将数据存储到数组,并绘制图块到是同一个,我已经attatched代码的一个片断下面
if(input2.equalsIgnoreCase("l"))
{
//add selected input to gameboard
gameboardX.add(0,player.get(input1));
JLabel imageTile = new JLabel(new ImageIcon(rotate(bi,rotateDegree)));
//place domino image to left, Y direction still the same, only shift X ,
// shift X by turnCounter, as turnCounter++ larger amount can only shift outwards
c.gridy = startingY;
c.gridx = startingX - turnCounter ;
//add image
gui.add(imageTile,c);
gui.revalidate();
}
的方法
它似乎没有任何区别,如果我有setVisible(true);最后,即使是第一个(只是尝试gui和方法)工作正常。然而,第二个(gui和method + extra GUI)不起作用,当我尝试使用JMenubar调用GUI的新实例和新方法时,也会发生此问题。 – user2058776
你确定这行if(input2.equalsIgnoreCase(“l”))返回true以在if分支内输入吗? –
是的,正如我已经尝试过的,只用GUI和方法,我附加了一个额外的图像,它是带有亮点的图像。第一个亮点是我想玩的瓷砖的位置,第二个亮点是位置(左,右,上,下),所以在这种情况下,L或l,然后将该瓷砖添加到阵列中,以及从src文件中获取选定的图像切片并将其绘制到GUI上(第二部分突出显示) – user2058776