tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
226
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    Hallo Java Experten, ich bnötige wieder einmal eure hilfe.

    Möchte mit meiner App eine Bahngenerierungstool verwirklichen. Funktioniert auch fast alles wunderbar.

    Problem: ich zeichne die Kurven auf ein JPanel
    Code java:
    1
    
    g.drawArc(x, y, width, height, AngleStart, AngleEnd);

    Beim Ausführen wird die Kurve angezeigt, Allerdings nur die wirkliche Krümmung und nicht die gesamte Kurve. siehe Bild im Anhang.

    Habe die Positionen überprüft und diese sind korrekt.

    Hat jemand eine Idee? wäre dankbar für jeden Tipp.

    lg
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Problem mit drawArc()-problem.jpg  
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    d.h. das Bild wird nicht vollständig angezeigt, oder wird etwas nicht richtig gezeichnet?
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    Die Kurve sollte die beiden blauen teilstücke verbinden. die position dafür stimmen auch. Sie werden lediglich nicht gezeichnet.
     

  4. #4
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Kannst du bitte deinen kompletten Paint-Block posten, damit ich da einen besseren Zusammenhang habe.

    Wie man eine Kurve zeichnet weiß ich auch.
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  5. #5
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    glaub ich dir!

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    public void paintComponent(Graphics g) {
            Graphics2D g2 = (Graphics2D)g;
            calculateDrawing();
     
            for (int i=0; i < 30; i++) {
     
                RectColor = new Color(Randomize(255),Randomize(255),Randomize(255));
                
                g2.setStroke(new BasicStroke(8));             
                g2.setColor(RectColor);
                //g.fillRect(RectLeft, RectTop, RectWidth-1, RectHeight-1);
                if(sectionsInt[i][6]<=4)
                {   
                    RectTop = sectionsInt[i][0];
                    RectLeft = sectionsInt[i][1];
                    RectWidth = sectionsInt[i][2];
                    RectHeight = sectionsInt[i][3];
                    g2.drawLine(RectLeft, RectTop, RectWidth, RectHeight); 
                }
                if(sectionsInt[i][6] >4 )
                {
                    CurveX =sectionsInt[i][0];
                    CurveY =sectionsInt[i][1];
                    CurveWidth =sectionsInt[i][2];
                    CurveHeight=sectionsInt[i][3];
                    CurveStartAngle =sectionsInt[i][4];
                    curveArcAngle =sectionsInt[i][5];
                    //g.drawArc(0, 0, 150, 150, 90,-90);
                    g.drawArc(CurveX, CurveY, CurveWidth, CurveHeight, CurveStartAngle, curveArcAngle);
                }
            }
     

  6. #6
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hast du dir schon mal die Werte (CurveX, CurveY, CurveWidth, etc.) ausgeben lassen, um zu sehen, ob es überhaupt die Werte sind die du auch erwartest?
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  7. #7
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    jap. hab ich schon, passen alle haarscharf!
     

  8. #8
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    ein beispiel

    Code java:
    1
    
     g.drawArc(0, 0, 150, 150, 90,-90);

    der violette punkt markiert die 0/0 Position

    dennoch fängt die kurve nicht bei 0/0 an.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Problem mit drawArc()-problem.jpg  
     

  9. #9
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Kann es sein, dass du die Kurve vor oder zwischendurch zeichnest, während noch andere Objekte gezeichnet werden? Dann kann es sein, dass die Kurve übermalt wird.
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  10. #10
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    Eigentlich nicht. Ich male zumindestens nie objecte mit der background color.
     

  11. #11
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Ok, ich hab das Problem gefunden. Foldendes:
    Dadurch dass du die Kurve im Uhrzeigersinn drehst (arcAngle = -90) und standardmäßig aber alles gegen den Uhrzeigersinn gedreht wird (denk ich zumindest), musst du dein X-Wert auch -90 nehmen. Dann kommst du auf deinen Ursprungspunkt.
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  12. #12
    KarlPichler KarlPichler ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    62
    fettes danke, momentan funsts.
     

Ähnliche Themen

  1. Wie weise ich nach: Browser Problem oder Code Problem?
    Von Steb im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.03.11, 20:09
  2. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  3. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  4. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29