g.drawLine in g 2D casten

Dieses Thema g.drawLine in g 2D casten im Forum "Java Basics - Anfänger-Themen" wurde erstellt von feldmarv, 4. Juli 2011.

Thema: 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...

  1. 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.

    (http://www.java-forum.org/java-basics-anfaenger-themen/48211-dicke-graphics-ovject-einstellen.html)

    Vielen Dank für die Hillfe.
    feldmarv
     
  2. Hinweis: KOSTENLOSE Java-Grundlagen DVD. Sichere dir hier den kostenlosen Zugriff auf 7 Stunden Video Java-Know How und starte richtig durch!
  3. 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
     
  4. Hat geklappt. Ein anderer Forumbeitrag hat auch noch geholfen :D

    Vielen Dank.

    g.drawLine(x, y, x2, y2);
    Graphics2D g2 = ( Graphics2D )g;
    g2.setStroke(new BasicStroke(3));
     
  5. Wenn du ganz faul bist:

    Code (Text):
    ((Graphics2D) g).setStroke(new BasicStroke(3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0));
    bzw. für dich noch kürzer:
    Code (Text):
    ((Graphics2D) g).setStroke(new BasicStroke(3));
    auch wenn du dafür 2 Klammern mehr machen musst xD
     
  6. Code wie
    Code (Text):

    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 (Text):

    protected void paintComponent(Graphics gr)
    {
        super.paintComponent(gr);
        Graphics2D g = (Graphics2D)g;
        g.drawThis(...);
        g.drawThat(...);
        g.drawHere(...);
        g.drawThere(...);
        g.drawSomething(...);
    }
     
     
  7. Dann natürlich schon, aber bei so einem Einzeiler geht das ja noch ;)
     
  8. Kostenlose Java-Grundlagen DVD im Wert von 29,95 € heute kostenlos sichern (Klick)
Die Seite wird geladen...

g.drawLine in g 2D casten - Ähnliche Themen

Forum Datum
Casten Hausaufgaben 4. Juni 2016
Casten Hausaufgaben 3. Juni 2016
Unnötiges Casten in Templatecode? Allgemeine Java-Themen 22. März 2016
Char Wert in int casten ? Java Basics - Anfänger-Themen 17. März 2016
Byte geht nicht höher als 126 auch nicht mit casten? Allgemeine Java-Themen 13. Feb. 2016
Interessante Stellenangebote


Weitere Stellenanzeigen

Stellenanzeige Mediadaten