我正在模拟Conway的生活游戏。我想创建一组扩展为“ JPanel”的“ Mybox”类型的盒子。在每个这些框的内部,我想在程序启动时调用SetBackground()函数。这是Ive最接近使其正常工作的地方
package conwaysGameOfLife;
import java.awt.Color;
import java.awt.Panel;
import javax.swing.JPanel;
public class MyBox extends JPanel{
public void setBackground(Color color){
super.setBackground(color);
}
public static void main(String[] args) {
setBackground(Color.white);
}
}
输入此命令时,我收到错误消息,告诉我将setBackground()设为静态,但是在执行此操作时,在supper关键字下却收到错误消息。
答案 0 :(得分:0)
setBackground()不应为静态。 在main()中,您需要创建一个MyBox实例并使用该实例:
MyBox box = new MyBox();
box.setBackground( Color.red );
例如:
public class MyBox extends JPanel{
public MyBox() {
this( Color.GREEN );
}
public MyBox(Color color){
setBackground(color);
}
public static void main(String[] args) {
// Create an instance with green background
// using the default constructor:
MyBox greenBox = new MyBox();
// or use the other constructor
MyBox redBox = new MyBox(Color.RED);
// then later you can change the color:
redBox.setBackground(Color.white);
}
}