我在着色JButton数组时遇到了问题。在Java中着色JButton
我做了Jbutton将两个数组:
public JButton Speler1[] = new JButton[140]; //Player1
public JButton Speler2[] = new JButton[140]; //Player2
按钮的这两个数组使第1泳道和一个赛车游戏的第2道。我希望玩家1和2的位置在两个屏幕上都有颜色。所以玩家1可以看到玩家2在哪里,反之亦然。
我已经做了一个方法,将两个球员的位置发送给彼此。
if (message.contains("Positie")) {
String posit = message.replaceFirst("Positie", "");
int positi = Integer.valueOf(posit);
positie2 = positi;
kleurHokje kleur = new kleurHokje();
kleur.hokVerkleur(positi); // positi is the position of each player
}
所以,当我调用该方法hokVerkleur(POSITI),我想改变车道2.
class kleurHokje{
public void hokVerkleur(int loc){
Speler2[loc].setBackground(Color.yellow);
Speler2[positie2].setBackground(Color.gray);
}
}
它只是不会工作的按钮。尽管我对Speler1 [positie]的操作几乎一样,但Speler1不使用网络,该网络按我的需要工作。
任何帮助表示赞赏,
感谢杰夫
编辑: 如果我把我的代码,它工作正常的MouseListeners的一个,而是有它被自动着色,而不必点击每个时间。
class Klaar extends MouseAdapter {
public void mouseClicked(MouseEvent e) {
Speler2[positie2].setBackground(Color.gray);
}
}
Ps。我的第一语言不是英语,我希望你能理解我的问题。
您是否确认'hokVerkleur'实际上被调用?如果它没有被调用,那么代码试图做什么并不重要。使用调试器或'System.out.println(“debug”)'语句来调试你的程序,并找出*正在工作。在您向我们提供这些信息之前,您没有投入足够的精力来帮助我们(请参阅:[SSCCE](http://sscce.org))。 –
当我使用'System.out.println(“Position”+ loc);'在hokVerkleur中打印出应该改变的位置。 – Jef
'kleur'是一个对象吗? – fireshadow52