我有一个Game类,应该调用Die类来绘制几个die。问题是我不知道如何在Game类中调用Die类中的paint方法(以及Die类中的所有其他方法)。我在Game类中创建窗口,它通常使用setVisible(true)
调用paint方法,但如果它在不同的类中则不会调用它。
这里是Die类的一部分:
public class Die
{
private int xA, yA;
private int dieNumber;
public void setup(int someX, int someY, int someValue) {
dieNumber = someValue;
xA = someX;
yA = someY;
}
public void paint(Graphics pane) {
drawBlank(pane);
if (dieNumber == 1){
drawOne(pane); }
else if (dieNumber == 2){
drawTwo(pane); }
...
}
private void drawBlank(Graphics pane)
{
final int WIDTH = 56;
final int HEIGHT = 56;
pane.setColor(Color.black);
pane.drawRect(xA, yA, WIDTH , HEIGHT);
pane.drawLine(xA-15, yA-10, xA, yA);
pane.drawLine(xA-15, yA-10, xA+40, yA-10);
...
}
private void drawOne(Graphics pane) {
drawDot(pane, xA+28, yA+28);
}
private void drawTwo(Graphics pane) {
}
.....
这是Game类的一部分
public class Game extends Frame
{
private Die myDie, theComputerDie;
private int dieNumber;
private int comDieValue;
}
public void window()
{
setTitle("Roll the dice");
setLocation(100, 100);
setSize(900, 600);
setBackground(Color.lightGray);
setVisible(true);
theComputerDie = new Die();
myDie = new Die();
myDie.setup(x, y, dieNumber);
theComputerDie.setup(comX, comY, comDieValue);
values();
rules();
}
.....