Java-Forum.org  
Zurück   Java-Forum.org > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen: g.drawLine in g 2D casten

Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Antwort     Ist dieses Thema erledigt?
Themen-Optionen Thema durchsuchen Ansicht
Alt 04.07.2011, 11:51   #1
feldmarv
 
g.drawLine in g 2D casten - Standard g.drawLine in g 2D casten

Hallo

Ich bin Java Anfänger und habe ein Frage.
Ich zeichne eine Linie mit g.drawLine(x, y, x2, y2);
Die Koordinaten werden per MouseListener ausgelesen und ich kann die Linie sauber mit der Maus zeichnen. Aber nun wollte ich die Dicke der Linie einstellen können.
Dazu habe ich im Forum gelesen, dass ich diese g.drawLine Methode in eine Graphics 2D "casten" soll.
Aber wie muss ich das machen.

(Dicke bei Graphics Ovject einstellen)

Vielen Dank für die Hillfe.
feldmarv
 
Alt 04.07.2011, 11:58   #2
 
g.drawLine in g 2D casten - Standard AW: g.drawLine in g 2D casten

das Graphics-Object g sollst du casten,
siehe z.B.
Java2D: An Introduction and Tutorial
den Code unter '2.1 Drawing Shapes: Overview'
bzw. fast in jedem Beispiel dort

welche Methoden Graphics2D hat aber besser nachschlagen,
oder wie man an der grundsätzlichen Cast-Frage sieht, besser ganze Tutorial lesen wie das angegebene
oder sogar noch zu weiteren Grundlagen wie Casten
 
Alt 04.07.2011, 12:17   #3
feldmarv
Themenstarter
 
g.drawLine in g 2D casten - Standard AW: g.drawLine in g 2D casten

Hat geklappt. Ein anderer Forumbeitrag hat auch noch geholfen

Vielen Dank.

g.drawLine(x, y, x2, y2);
Graphics2D g2 = ( Graphics2D )g;
g2.setStroke(new BasicStroke(3));
 
Alt 04.07.2011, 12:36   #4
beastofchaos
 
g.drawLine in g 2D casten - Standard AW: g.drawLine in g 2D casten

Wenn du ganz faul bist:

((Graphics2D) g).setStroke(new BasicStroke(3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0));
bzw. für dich noch kürzer:
((Graphics2D) g).setStroke(new BasicStroke(3));

auch wenn du dafür 2 Klammern mehr machen musst xD
 
Alt 04.07.2011, 16:37   #5
Marco13
 
g.drawLine in g 2D casten - Standard AW: g.drawLine in g 2D casten

Code wie
Code:
protected void paintComponent(Graphics g)
{
    super.paintComponent(g);
    ((Graphics2D)g).drawThis(...);
    ((Graphics2D)g).drawThat(...);
    ((Graphics2D)g).drawHere(...);
    ((Graphics2D)g).drawThere(...);
    ((Graphics2D)g).drawSomething(...);
}
sollte man IMHO nicht schreiben. Besser
Code:
protected void paintComponent(Graphics gr)
{
    super.paintComponent(gr);
    Graphics2D g = (Graphics2D)g;
    g.drawThis(...);
    g.drawThat(...);
    g.drawHere(...);
    g.drawThere(...);
    g.drawSomething(...);
}
 
Alt 04.07.2011, 18:10   #6
beastofchaos
 
g.drawLine in g 2D casten - Standard AW: g.drawLine in g 2D casten

Dann natürlich schon, aber bei so einem Einzeiler geht das ja noch
 
Antwort     Ist dieses Thema erledigt?

Zurück   Java-Forum.org > Java - Programmierung > Java Basics - Anfänger-Themen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen: g.drawLine in g 2D casten
DrawLine
DrawLine: Hi Community, Frage: Wie zeichnet man Linien?...
g.drawLine Farbübergänge
g.drawLine Farbübergänge: Hallo, ich zeichne mehrere Linien per ...
Frage zu drawLine
Frage zu drawLine: Hallo zusammen, ich zeichne mit der Methode...
Label + DrawLine
Label + DrawLine: Hi, sagt mal ist es möglich auf ein Label zu...
drawLine (bzw. drawGitter)
drawLine (bzw. drawGitter): Also, ich habe ein memorykartenspiel...




Sie betrachten gerade g.drawLine in g 2D casten