g.drawLine in g 2D casten

Diskutiere g.drawLine in g 2D casten im Java Basics - Anfänger-Themen Forum; 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...

  1. feldmarv
    feldmarv Neues Mitglied
    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. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. SlaterB
    SlaterB Guest
    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. feldmarv
    feldmarv Neues Mitglied
    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. beastofchaos
    beastofchaos Neues Mitglied
    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. Marco13
    Marco13 Gesperrter Benutzer
    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. beastofchaos
    beastofchaos Neues Mitglied
    Dann natürlich schon, aber bei so einem Einzeiler geht das ja noch ;)
     
Die Seite wird geladen...

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

Probleme beim casten von double zu int
Probleme beim casten von double zu int im Forum Java Basics - Anfänger-Themen
Casten
Casten im Forum Hausaufgaben
Casten
Casten im Forum Hausaufgaben
Unnötiges Casten in Templatecode?
Unnötiges Casten in Templatecode? im Forum Allgemeine Java-Themen
Char Wert in int casten ?
Char Wert in int casten ? im Forum Java Basics - Anfänger-Themen
Thema: g.drawLine in g 2D casten