Navigieren / suchen

Canvas in JAVA verwenden

Wir nehmen in der Schule gerade GUI’s in JAVA durch. Dabei habe ich und ein paar Schulfreinde das Thema Canvas und Bilder. Nun habe ich mal im „Java ist auch eine Insel“-Buch geblättert und habe herausgefunden wie ich mit Canvas Arbeiten muss.

Am einfachsten geht das indem ihr eine eigene Klasse macht die von Canvas abgeleitet ist und dort überschreibt man einfach die Methode paint().

package ch.nischi.gui;

import java.awt.*;

public class MyFirstCanvas extends Canvas {
	public void paint(final Graphics g){
		/* das paint() der super-Klasse muss natürlich aufgerufen werden. */
		super.paint(g);

		/* Zuerst zeichne ich ganz eifach eine Linie vom Punkt (5/5) zum Punkt (50/150) */
		g.drawLine(5, 5, 50, 150);
		/* Dann noch ein Rechteck vom Punkt (50/50) zum Punkt (200/200) */
		g.drawRect(50, 50, 200, 200);
		
	}
}

Canvas besitzt ein einfach zu bedienendes Koordinatensystem. Das links Oben begint und recht Unten aufhört.
Sprich der Punkt (1/1) ist fast ganz links Oben und der Punkt (500/500) ist eher rechts Unten, je nachdem wie gross der Canvas ist.
Gleich ist das die Horizontale die X-Achse ist und die Vertikale die Y-Achse.

So das mal zu der eigenen Canvas-Klasse.
Nun müssen wir das noch auf einem Panel platzieren. Das ist eigentlich ziemlich einfach:

package ch.nischi.gui;

import javax.swing.*;
import java.awt.*;

public class JavaGUI {
	/* Erstellt ein neues JFrame mit dem Titel "Java phone */
	JFrame mainFrame = new JFrame("Java Phone");
	/* Dazu kommt noch ein kleines Panel */
	JPanel keyDisplayPanel = new JPanel();
	/* und zu guter letzt noch mein eigenes Canvas */
	MyFirstCanvas myCanvas = new MyFirstCanvas();
	
	public JavaGUI(){
		/* Setzt das Layout vom Frame und vom Panel */
		mainFrame.setLayout(new BorderLayout(20,20));
		keyDisplayPanel.setLayout(new BorderLayout(20,20));
		
		/* Hier können wir dan unser Canvas auf das Panel platzieren */
		keyDisplayPanel.add(myCanvas, BorderLayout.CENTER);
		/* und natürlich noch das Panel auf das Frame */
		mainFrame.add(keyDisplayPanel, BorderLayout.CENTER);
		
		/* Nur noch anzeigen und das ganze läuft */
		mainFrame.setSize(300,300);
		mainFrame.setVisible(true);
	}

}

So und nun läuft das ganze und sieht in etwa so aus:

Java GUI
Java GUI

Kommentare

Hätti

Wunderbar… das kann ich doch grad verwenden.

Weisst du, wir müssen grad in der Schule ein Yatzee – auch Kniffel genannt – programmieren und dazu Canvasses verwenden :)

Nischi

Ewa, das glaubi ez ned, soen schwachsin dönd ihr ide schuel programmiere… aso i wer do eifach hei gange und nüme cho ;)

Nichiju

HÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ???????

Hinterlasse einen Kommentar

Name*

E-Mail* (wird nicht veröffentlicht)

Webseite