Java/Tutorials/Karteneditor Kapitel 5

Aus Scientia
Wechseln zu: Navigation, Suche

In diesen Kapitel behandeln wir wie wir die Karte im Fenster Anzeigen lassen. Hierfür erstellen wir eine neue Klasse KartenAnsicht und leiten diese von JPanel ab. Wir übergen wieder unser KartenFenster im Konstruktor, so das wir auf die Karte zugreifen können. Weiterhin werden wir wieder die paintComponent()-Methode Implementieren. Und wir aktivieren Double Buffered, dies verhindert Flackern.


public class KartenAnsicht extends JPanel{
 
	KartenFenster fenster;
 
	public KartenAnsicht(KartenFenster kfenster)
	{
		fenster=kfenster;
		setDoubleBuffered(true);
	}
 
	public void paintComponent(Graphics g)
	{
 
	}
}

Kommen wir jetzt einmal zu einigen Swing Komponenten die wir brauchen und zwar JScrollPane. Wir wissen das unsere Karten sehr groß wird und wenn wir alles auf einmal Zeichnen lassen würden, würde unnötig Rechenleistung verbraten, daher gibt es genau 2 Gründe warum wir JScrollPane verwenden sollten. Einmal um uns auf unserer Karte mit Scrollbars zu bewegen und um Rechenleistung zu sparen. Über die Methode setViewport, sagen wir was wir betrachten wollen. In unseren Fall, wollen wir das unsere Klasse selbst die zu betrachtende Komponete ist.


public class KartenAnsicht extends JPanel{
 
	KartenFenster fenster;
	JScrollPane scroll=new JScrollPane();
 
	public KartenAnsicht(KartenFenster kfenster)
	{
		fenster=kfenster;
		scroll.setViewportView(this);
		setDoubleBuffered(true);
	}
 
	public void paintComponent(Graphics g)
	{
 
	}
}