Java-从另一个类的window()方法调用paint()方法?

时间:2014-10-20 20:44:26

标签: java graphics window frame paint

我有一个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();
		
	}
.....

0 个答案:

没有答案