我想让我的代码关闭(隐藏)一些按钮,所以我可以闪烁一系列颜色。注意我是java的新手。如果不这样做,请不要费心阅读每个人
public void runPattern() //shows the pattern of colors
{
System.out.println("runPatternStart");
SimonSaysPanel.invisible();
repaint();
for(int j = 0; j < SimonSaysPanel.maxCount; j++)
{
if(array[j] == 1)
{
System.out.println("runPattern1");
myBuffer.setColor(new Color(60, 255, 0));
myBuffer.fillRect(0, 0, 150, 150);
repaint();
timeDelay(2000);
myBuffer.setColor(new Color(36, 185, 20));
myBuffer.fillRect(0, 0, 150, 150);
repaint();
}
else if(array[j] == 2)
{
System.out.println("runPattern2");
myBuffer.setColor(new Color(255, 255, 0));
myBuffer.fillRect(0, 150, 150, 150);
repaint();
timeDelay(2000);
myBuffer.setColor(new Color(204, 200, 16));
myBuffer.fillRect(0, 150, 150, 150);
repaint();
}
else if(array[j] == 3)
{
System.out.println("runPattern3");
myBuffer.setColor(Color.RED);
myBuffer.fillRect(150, 0, 150, 150);
repaint();
timeDelay(2000);
myBuffer.setColor(new Color(209, 20, 20));
myBuffer.fillRect(150, 0, 150, 150);
repaint();
}
else if(array[j] == 4)
{
System.out.println("runPattern4");
myBuffer.setColor(Color.BLUE);
myBuffer.fillRect(150, 150, 150, 150);
repaint();
timeDelay(2000);
myBuffer.setColor(new Color(31, 97, 183));
myBuffer.fillRect(150, 150, 150, 150);
repaint();
}
else
{
System.out.println("runPatternError");
}
}
SimonSaysPanel.visible();
repaint();
}
我在哪里调用隐形方法,隐形和可见方法就像这样:
public static void invisible()
{
System.out.println("invisible");
button1.setEnabled(false);
button2.setEnabled(false);
button3.setEnabled(false);
button4.setEnabled(false);
}
public static void visible()
{
System.out.println("visible");
button1.setEnabled(true);
button2.setEnabled(true);
button3.setEnabled(true);
button4.setEnabled(true);
}
我尝试过setEnabled,setVisible和setOpaque,我认为它们都不起作用。我认为这是调用方法的正确方法,输出打印“可见”和“不可见”,所以我不知道什么是错的。我假设可见和不可见的方法正确完成。
答案 0 :(得分:0)
使用setOpaque()和setEnable()。