Graphics

Status
Nicht offen für weitere Antworten.

Sir_Steve

Mitglied
HI!
Ich bin ein Neuling in JAVA muss aber sagen dass es echt geil funzt. Allerdings habe ich ein prob:
Ich will in einem Canva ein paar Linien zeichnen. Ich habe ein Frame erstellt, ein SubCanva definiert
(extends Canva), habe das in den Frame eingefügt und will jetzt was zeichnen. Dazu habe ich die Methode paint.
Dieser Methode wird ein Graphics Objekt übergeben. Meine Frage: Wie erstelle ich so ein Objekt damit ich es übergeben kann? Thx 4 help!

Steve 8)
 

bummerland

Top Contributor
das brauchst du nicht erstellen. du definierst einfach die methode public void paint(Graphics g), und in der methode zeichnest du mit dem Graphics-Objekt deine Striche.
 

Sir_Steve

Mitglied
Ja okay, aber wie rufe ich die Methode paint dann auf? Ich muss ihr ja was übergeben! Man kann doch nix übergeben ohne es erstellt zu haben? Plz tell me!
 

bummerland

Top Contributor
die methode wird automatisch aufgerufen. wenn du sie manuell noch mal aufrufen willst, nimmst du repaint().
 

Sir_Steve

Mitglied
AH! i see!
okay, aber wenn ich dann auf knopfdruck etwas zeichnen will?
also sagen wir ich habe diese subklasse subcanva die von canvas erbt. dann habe ich da eine methode
paintline(graphics g) und wenn ein knopf drückt wird soll die methode aufgerufen werden... wie mache ich das dann?
ist das überhaupt möglich oder muss ich alles was gezeichnet wird mit paint und repaint und halt mit viele switches in der methode machen?
Thx 4 Help!!!

grüße Steve
 

Sir_Steve

Mitglied
Gleich noch eine frage: wie kann ich dann 2 kreise nebeneinander machen?
wenn ich for mache geht das ned, if geht ned. ich werde hier mal schnell ein kleines prog posten:

Code:
import java.awt.* ;
import java.awt.event.*; 

//hier wird eine Subklasse von Canvas erstellt, was nötig ist!

class SubCanva extends Canvas {
	
	int i = 0;
	
	public SubCanva(int Zahl) {
		this.i = Zahl;
	}
	
	
	public Dimension getMinimumSize() {
		return new Dimension (500, 500);
	}
	public Dimension getPreferredSize() {
		return getMinimumSize();
	}
	public void paint (Graphics Grafik) {
		Color Rot = new Color(255,0,0);
		Grafik.setColor (Rot);
		for(int i = this.i; i <= 10; i++){
			Grafik.drawOval (100,100,(i * 10),(i * 10));	
		}
	}

	
}




class KannWas{
	public static void main(String[] args){
	//zuerst amal ein Fenster anlegen
	Frame MainWindow = new Frame("Linie");
	//jetzt ein Canvas, weil das kann was. *prust*	
	SubCanva Canva = new SubCanva(10);
	//jetzt layout wählen
	MainWindow.setLayout (new BorderLayout() );
	//jetzt canvas einfügen
	MainWindow.add (Canva, "Center");
	MainWindow.setSize(1000,1000);
	MainWindow.setVisible(true);	
	}
}

wenn ich jetzt compeliere gibts immerhin keinen error :)
aber sobald ich ausführe bekomme ich den fehler
"Exeption in threa "main" java.lang.NoSuchMethodError: main
es lieg an der for weil wenn ich die weglasse passt alles. aber ich will ned nur einen kreis malen!!!!
wie mache ich das nun?

danke für hilfe, Steve
 
R

Roar

Gast
nur eine kleine frage: wieso nennst du das alles "Canava" es heißt "Canavas" mit S am ende ;)
 

bummerland

Top Contributor
deine klasse KannWas muss public deklariert werden, weil sie ja deine main-Methode enthält. die datei muss dann KannWas.java heissen.
 

Nobody

Top Contributor
kleine ergänzung:

beim neuzeichnen wird auch update(Graphics g) aufgerufen, wenn ich das noch richtig im kopf hab
 

Sir_Steve

Mitglied
lol, na klar! das ich die klasse mit main public machen muss ist doch irgendwie logisch, danke!!!
gut, jetzt kann ich immerhin schon mehrere kreise zeichnen wenn ich für jeden kreis die drawoval(...)-methode einzeln eingebe. das mag ich aber ned.
kann ich ned einfach in einer FOR-Schleife einfach einmal den draw befehl hinschreiben und dann eben ein paar mal ausführen (durch for eben). bei mir geht es no ned weil immer der selbe fehler kommt :(
wenn das noch geht freu ich mich sehr! vielen danke auch jetzt schon!

(wegen canva, ich nahm an das canvas mehrzahl ist... diesen fehler werde ich natürlich NIE wieder tun...)
 

Specialfighter

Neues Mitglied
Das mit den Buttons kannst du folgendermaßen lösen:

1.) Du setzt eine Statusvariable auf einen best. Wert, wenn man auf einen bestimmten Button klickt.
Beim ActionListener des Buttons löst du repaint() aus.
In der Paint-Fkt. prüfst du die Statusvariable, und rufst dann je nachdem die eigentliche Zeichenfunktion auf:
Code:
void button1_zeichnen(Graphics g)
{
 g.drawRect(10,10,20,20);
}

void paint(Graphics g)
{
 if (status == 1)
    button1_zeichnen(g);
}
Somit bekommst du ein übersichtliches Programm.

2.) Solltest du das Graphics-Objekt wirklich außerhalb der void paint() brauchen, kannst du das mit getGraphics() tun. Beachte aber, was passiert, wenn neu gezeichnet werden muss.

/€ und mit code tags bekommst du etwas mehr übersichtlichkeit in deine posts
 

Nobody

Top Contributor
@sir sag welcher fehler kommt, den generell geht das schon

@special wann wurde hier was mit buttons gefragt? ich hab da nix gesehen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Umgang mit Graphics unklar : Erstellung u Uebergabe an Funktion Java Basics - Anfänger-Themen 18
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
CptK Interface Bilder mit Graphics g zeichnen Java Basics - Anfänger-Themen 7
J Erste Schritte drawLine Methode der Graphics Klasse Java Basics - Anfänger-Themen 2
J GUI / Graphics Java Basics - Anfänger-Themen 2
H Graphics / repaint Java Basics - Anfänger-Themen 8
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Cast java.awt.Graphics Java Basics - Anfänger-Themen 7
Azazel (Anfängerhilfe) awt.Graphics Schwierigkeiten Java Basics - Anfänger-Themen 6
I Methoden public void paintComponent (Graphics g) Java Basics - Anfänger-Themen 4
B Erste Schritte Anzeige von Graphics Objekten einzeln aktualisieren Java Basics - Anfänger-Themen 1
S Farbige Lebensleiste mit Graphics? Java Basics - Anfänger-Themen 10
S Ein Graphics Obejct mehrmals mit denselben Eigenschaften zeichnen lassen?!?!? Java Basics - Anfänger-Themen 4
S G Graphics Java Basics - Anfänger-Themen 1
thet1983 g.Graphics löschen? Java Basics - Anfänger-Themen 1
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
A EAN13 Font auf graphics g erzeugt Monospaces Java Basics - Anfänger-Themen 14
N Graphics to png Java Basics - Anfänger-Themen 10
N Methode draw(Graphics g) aufrufen Java Basics - Anfänger-Themen 6
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
J Jtable änderung soll graphics aktualisieren Java Basics - Anfänger-Themen 4
J JAVA Graphics Java Basics - Anfänger-Themen 5
A Graphics Objekt verhält sich merkwürdig Java Basics - Anfänger-Themen 2
G DRUCKEN von z.B. eines JFrame über print(Graphics g) Java Basics - Anfänger-Themen 9
Maxim6394 Probleme mit Graphics Java Basics - Anfänger-Themen 7
W von Graphics in BufferedImage Java Basics - Anfänger-Themen 10
M OOP Graphics immer selbstbezihend Java Basics - Anfänger-Themen 12
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
T Transparente Bilder mit Graphics zeichnen Java Basics - Anfänger-Themen 17
H Probleme mit Graphics G Java Basics - Anfänger-Themen 2
M Schiebepuzzle: MouseListener und Graphics? Java Basics - Anfänger-Themen 6
J Graphics g Java Basics - Anfänger-Themen 4
H Probleme mit Graphics Java Basics - Anfänger-Themen 5
B MouseListener & Graphics Java Basics - Anfänger-Themen 10
M Graphics zeichnen Java Basics - Anfänger-Themen 2
F Graphics PDFBox Java Basics - Anfänger-Themen 9
M kurze Frage zu Graphics Java Basics - Anfänger-Themen 5
Luk10 Buch für Swing/Awt/Graphics Java Basics - Anfänger-Themen 4
M Java Graphics etc. Java Basics - Anfänger-Themen 2
M Concurrency und Graphics Java Basics - Anfänger-Themen 9
F Was ist Graphics g wirklich? Java Basics - Anfänger-Themen 5
J Klasse Graphics Nullpointerexception Java Basics - Anfänger-Themen 8
P Frage zu Graphics Java Basics - Anfänger-Themen 2
O graphics methode zeigt mein bild nicht an Java Basics - Anfänger-Themen 7
F Zweite Graphics-Methode wird nicht ausgeführt Java Basics - Anfänger-Themen 4
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
G paintComponent(Graphics g) Java Basics - Anfänger-Themen 2
eQui Oberfläche mit Graphics zeichnen Java Basics - Anfänger-Themen 11
S Dicke bei Graphics Ovject einstellen Java Basics - Anfänger-Themen 2
V KSKB zum Verständnis von Graphics und paintComponent Java Basics - Anfänger-Themen 6
G mit Graphics erzeugte Strings verschwinden sofort wieder Java Basics - Anfänger-Themen 7
T Graphics von java.awt.Frame soll sich inhalt merken Java Basics - Anfänger-Themen 3
G Graphics-Object skalieren Java Basics - Anfänger-Themen 9
G Constructor & Graphics g Java Basics - Anfänger-Themen 5
F Frage zum Graphics Objekt Java Basics - Anfänger-Themen 3
D Instanz von Graphics in run() Java Basics - Anfänger-Themen 8
B Mouseevents und Graphics Java Basics - Anfänger-Themen 11
D Abstrakte Klasse Graphics Java Basics - Anfänger-Themen 3
W Verständisfrage zu Graphics Objekt Java Basics - Anfänger-Themen 3
P umwandeln von graphics nach image Java Basics - Anfänger-Themen 4
A Graphics g, AdjustmentEvent e Java Basics - Anfänger-Themen 5
Dilandau paint(Graphics g) { unbekannt in try{} / catch{} }? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben