DrawLine

Network

Top Contributor
Hi Community,

Frage:
Wie zeichnet man Linien?
Mein Code funktioniert nicht:
-> (Es kommt keine Fehlermeldung oder so, es kommt Garnichts.
Dabei hab ich den Code aus einem anscheinend funktionierenden Programm genommen)
-> ( In meinem Programm steht sonst nichts, was mit der Linie zu zeichnen zu tun hat )
Java:
	public void paintMap( Graphics g )
	{
	int LCX = 0;
		for( int c = 0; c < 59; c++ )
		{
			g.drawLine( LCX, 100, 900, 900 );
			LCX = LCX + 20;
		}
	}


Danke vielmals
(kleine Nebenfrage: Ich hab eine (zufällige) Zahl zwischen 0 und 101. und möchte herausfinden welcher Zahl( im 20iger Schritt diese Zahl am nächsten ist. Beispiel: Nummer 69 ist der Zahl 60 am nächsten)
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Die Zeichen-Methode heißt im AWT
Code:
public void paint(Graphics g)
und im Swing
Code:
protected void paintComponent(Graphics g)

und nicht
Code:
public void paintMap( Graphics g )
 
G

Gast2

Gast
(kleine Nebenfrage: Ich hab eine (zufällige) Zahl zwischen 0 und 101. und möchte herausfinden welcher Zahl( im 20iger Schritt diese Zahl am nächsten ist. Beispiel: Nummer 69 ist der Zahl 60 am nächsten)

Java:
int zwanziger = (int)(Math.round(deineZufallsZahl / 20.0) * 20);
Das sollte so in etwa funktionieren.
 

Network

Top Contributor
Die Zeichen-Methode heißt im AWT
Code:
public void paint(Graphics g)
und im Swing
Code:
protected void paintComponent(Graphics g)

und nicht
Code:
public void paintMap( Graphics g )

Ok mein Code lautet jetzt so
Java:
	public void paint(Graphics g)
	{
LCX = 0;
		for( int c = 0; c < 59; c++ )
		{
			g.drawLine( LCX, 100, 900, 900 );
			LCX = LCX + 20;
		}
	}

Jetzt ist jedoch das Problem, dass alles dahinter von einem grauen Schleier bedeckt ist!
Wenn ich mit der Maus über einen Teil drüberfahre, wird dieser erst sichtbar.

Alles was dahinte rliegt ist Swing. Bzw. das Fenster ist JFrame.
Bei protected void paintComponent(Graphics g) jedoch waren keine Linien zu sehen. Also da auch wieder kein Ergebnis.

Auf Zeile 6: Du kannst nicht einfach zwei Kommas setzen, da muss eine 0 rein.

Ja Danke, da ist auch eine 100 um genau zu sein, beim kopieren und einfügen hab ich sie wohl ausversehen gelöscht
 

Network

Top Contributor
Du musst noch super.paint(g) aufrufen.

Ok Danke funktioniert bis jetzt alles ganz gut... aber noch nicht perfekt.

Die Linie verläuft über ein paar unsichtbare Buttons( das soll so sein ). Sobald man die Maus über einen dieser unsichtbaren Button legt, verschwindet die Linie an der Stelle.
Weiss da jmd. vieleicht Rat? (ums perfekt zu machen, sieht einfach nicht schön aus, wenn jedesmal ein Stück Linie verschwindet.

unbenanntnsr.png
 

Ähnliche Java Themen

Neue Themen


Oben