Wywołanie metody w zależności od obiektu

0

Witam!

Piszę w sprawie pomocy przy wywołaniu odpowiedniej metody w zależności od tego ,który obiekt ją wywołuje.
Może przedstawię krótko problem tak chyba będzie najlepiej.

Częśc klasy GWindow:

grafika = new JPanel() {
	public void paint( Graphics g ) {
		Graphics2D g2 = ( Graphics2D ) g;
		tmp = 0;
		g2.draw(new Rectangle2D.Double(0,0,202,202));
		 for(int j = 0;j < 10; j++) {
			 for( int i = 0;i < 200; i += 20 ) {
				 g2.draw( new Rectangle2D.Double(i+1,tmp+1,20,20) );
				 g2.setColor(c);
				 g2.fillRect(i+3, tmp+3, 19, 19);
			 }
			 tmp += 20;
		}
		PainShip(g2);
}}; 

Metoda PaintSip:

 private void PainShip(Graphics2D g2) {
		Dimension p = new Dimension();
		Dimension k = new Dimension();
		int dlugosc = 0;
		Kierunek kierunek;
		g2.setColor(Color.blue);
		
		 for( int i = 0;i< 10;i++) {
			dlugosc = gArea.statki[i].getRozmiar();
			p = (gArea.statki[i].getPoczatek());
			k = (gArea.statki[i].getKoniec());
			kierunek = gArea.statki[i].getDirect();
			
			if( kierunek == Kierunek.PIONOWO){
				for( int j = 0 ;j<dlugosc;j++) {
					g2.fillRect(p.width*20+3,(p.height+j)*20+3, 19, 19);
				}
			}
			else if( kierunek == Kierunek.POZIOMO) {
				for( int l = 0 ;l<dlugosc;l++) {
					g2.fillRect((p.width+l)*20+3,p.height*20+3, 19, 19);
				}

	}
	}
}

Pierwsza metoda Paint rysuje w panelu plansze 10x10.
W metodzie tej zostaje an koncu wywołana druga metoda PaintShip ona odpowiada za rysowanie statku pobranego z tablicy statkow na planszy.

Problem sprowadza się do tego ,że chciałbym w oknie głównym utworzyć dwa obiekty klasy głównej ( zawierającej min. te metody ) i na pierwszej planszy chciałbym pokazać statki ,a na drugiej chciałbym aby pozostały one niewidoczne.
I w zasadzie chodzi o to ,aby w drugim obiekcie klasy GWindow nie wywoływać metody PaintShip.

Proszę o jakieś rady z góry dzięki.

0

Do konstruktora klasy GWindow przekaż parametr logiczny (raz true, raz false), zapamiętaj go w polu tej klasy. Metodę paintShip() wywołuj w zależności od wartości tego parametru.

0

Sprytne :)
Dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1