Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15
  1. #1
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard [Java] Linie zeichnen

    Hey, ich hoffe jemand kann mir bei meinem Vorhaben helfen, da ich nicht nur eine Lösung brauche, sondern auch gerne wissen möchte wieso man das so und so macht. Habe jetzt einige Minuten rumprobiert und komme einfach nicht weiter. Ich habe einige fertigen Klassen im Internet gefunden, die an sich funktionieren, aber die ich nicht mit meiner eigentlichen GUI verwenden kann. Und verstehen tu ich das ganze im Moment auch noch nicht wirklich..

    Also ich möchte erstmal eine einfache Linie auf meiner GUI haben. Weiterführend werden es später ~500 "Linien" sein, die eine Art Graphen darstellen sollen. Als ich die Klasse Graphics gefunden habe, dachte ich, dass ich einfach immer ein Objekt für eine Linie erzeugen kann, mit entsprechenden Koordinaten, aber jetzt gestaltet sich das ganze doch sehr viel schwieriger.

    1. Muss ich zwangsweise eine neue Klasse für eine Linie erstellen (wenn ja wie sähe diese Klasse geschickt aus?)
    2. Wie kriege ich das dann geschickt in meine andere GUI rein.

    Wenn möglich mit Erklärungen.. wäre euch sehr dankbar.

    Hier mal eine Klasse die ich ausm Internet gezogen habe


    Bräuchte das heute noch, wäre euch für Hilfe echt dankbar ^^
    Geändert von 100 (06.06.2010 um 19:55 Uhr) Grund: Automerged Doublepost
    Signatur hat Pause..


  2. #2
    The Chosen One oder so Avatar von Apex
    Registriert seit
    16.09.2007
    Beiträge
    1.469

    Standard

    Es kommt drauf an, ob du die Linie selber zeichnen willst per Hand oder ob sie automatisch gezeichnet werden soll. Dann kommts darauf an worauf du zeichnest ob du direkt ins Frame zeichnest.

    Im Grunde genommen brauchst du einen Swing Komponenten und dafür wird PaintComponent gebraucht und für AWT brauchst du den Container Paint. Das hier is 'n Beispiel:

    import java.awt.*;

    class draw() extends Frame{

    public draw(){
    super();
    this.setBounds(0,0,300,300);
    this.setVisible(true);
    }

    public void Paint(Graphics g){
    g.drawLine(0,0,100,100);
    }
    }
    "Die Menschheit wird eines Tages zu Grunde gehen. Vermutlich aus dem gleichen Grund wie die Dinosaurier - zu viel Panzer und zu wenig Hirn."


  3. #3
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Ich arbeite mit dem Javaeditor, der beinhaltet auch einen schlechten GUI Editor.. wie auch immer, dadurch ergibt sich meine GUI Klasse:

    Code:
    public class GUI extends JFrame {
         public GUI() {
             super("Peter");
             ..
         }
    }
    Wie verwende ich nun deine Klasse, oder kann ich das direkt in meine GUI Klasse einbauen? Ansonsten müsste in der Klasse doch den Frame mitgeben, nur wie tu ich das?
    Danke schonmal

    /edit
    Übrigens krieg ich bei deiner Klasse im Moment folgenden Fehler:
    draw.java:1:11: '{' expected

    Und ich weiß leider nicht wie das aussehen sollte
    Geändert von 100 (06.06.2010 um 20:16 Uhr)
    Signatur hat Pause..


  4. #4
    The Chosen One oder so Avatar von Apex
    Registriert seit
    16.09.2007
    Beiträge
    1.469

    Standard

    Mit ein bisschen überlegen kommste eigentlich selber drauf:

    Du willst eine Linie zeichnen, das heißt du musst Koordinaten speichern du willst aber nicht sofort die Koordinaten speichern wenn die Maus im Frame ist sondern wahrscheinlich erst dann, wenn auf die Maus gedrückt wird. Jetzt musst du jede Mausbewegung überprüfen, das heißt XY+1, aber mit Grundwissen müsstest du das eigentlich wissen. Und am Ende kriegste eigentlich ne hübsche Klasse zusammen.

    Schau dir das hier mal an: Java in 21 Tagen - Kapitel 9

    Dort wird erklärt, wie man die Graphicklassen von Java verwendet.


    Mag dir nichts vorkotzen, bin halt 'n Mensch der will, dass die Leute selber was auf die Beine stellen und nicht Copy & Paste
    "Die Menschheit wird eines Tages zu Grunde gehen. Vermutlich aus dem gleichen Grund wie die Dinosaurier - zu viel Panzer und zu wenig Hirn."


  5. #5
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Die Koordinaten sind fest.. die werden berechnet, sodass am Ende ein Graph entsteht.
    Das Problem ist, dass ich aktuell nichts mit deiner Klasse anzufangen weiß, da ich einen Fehler bekomme und immernoch nicht weiß wie ich sie korrekt in meine eigentliche GUI Klasse einbinde.

    Naja ich schau mir nochmal den Link auf, den hab ich nämlich neben 50 anderen heute schon gefunden
    Ich weiß nicht WIE ich das nun verwenden soll..

    Mag dir nichts vorkotzen, bin halt 'n Mensch der will, dass die Leute selber was auf die Beine stellen und nicht Copy & Paste
    Find ich völlig in Ordnung, stehe halt nur gerade aufm Schlauch weil ich schon einiges probiert habe :/
    Signatur hat Pause..


  6. #6
    Bad Times Virus Avatar von Chiqsaw
    Registriert seit
    24.04.2009
    Beiträge
    559

    Standard

    Schau dir mal das an:

    public class Raster extends Applet
    {
    public void init()
    {
    setBackground(new Color(255,255,255));
    }

    public void paint(Graphics stift)
    {
    stift.setColor(Color.LIGHT_GRAY);
    for (int j=0; j<=500; j=j+10)
    {
    stift.drawLine(j,0,j,500);
    stift.drawLine(0,j,500,j);
    }
    }

    }


  7. #7
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Da sagt er bei mir er weiß nicht welche Klasse Applet ist.
    Ah warte vergiss es

    Extend bedeutet, dass meine Klasse von dieser Klasse erbt ja?

    Mein Problem ist wie gesagt, dass ich nicht weiß wie ich mit/in meiner eigentlichen GUI nun an die 500 Linien erzeuge. Muss ich ein Objekt der Klasse Raster erstellen, wenn die denn keine Fehler bekommen würde? Hatte das mal mit dieser Bienen Klasse da versucht, das hab ich aber auch nicht hinbekommen

    /edit
    Gut, aber wie male ich nun in meiner eigenen Form?
    Raster test = new Raster();
    Was muss ich übergeben.. muss ich überhaupt was übergeben. Ihr habt keine Ahnung wie verwirrt ich bin.
    Geändert von 100 (06.06.2010 um 21:01 Uhr)
    Signatur hat Pause..


  8. #8
    Bad Times Virus Avatar von Chiqsaw
    Registriert seit
    24.04.2009
    Beiträge
    559

    Standard

    So wie du es anstellst übergibst du ein objekt warum schaust du dir nicht an WAS du bei meinem beispiel alles ändern kannst?

    schau dir mal besonders :
    for (int j=0; j<=500; j=j+10)
    {
    stift.drawLine(j,0,j,500);
    stift.drawLine(0,j,500,j);
    das an


  9. #9
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Es geht darum dass ich nicht weiß wie ich überhaupt irgendetwas auf MEINE GUI bekomme.
    Auch wenn ihr glaubt ich bin etwas beschränkt im Kopf, WENN mal irgendeine Linie auftauchen würde, dann könnte ich diese auch selber erstellen.

    Aber ich muss erstmal irgendetwas auf meine richtige GUI bekommen und ich weiß nicht wie ich das machen soll.
    Signatur hat Pause..


  10. #10
    Bad Times Virus Avatar von Chiqsaw
    Registriert seit
    24.04.2009
    Beiträge
    559

    Standard

    na mit einer mehode....
    meine methode die ich verwende ist :

    public void paint(Graphics stift)


Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Java als .exe
    Von MC_Amann im Forum Java
    Antworten: 7
    Letzter Beitrag: 15.05.2010, 16:16
  2. Tausende zeichnen Petition gegen "Killerspiel"-Verbot
    Von TamCore im Forum Globale News / Szene News
    Antworten: 16
    Letzter Beitrag: 10.07.2009, 11:51
  3. C Ein Fraktal zeichnen
    Von nelly3500 im Forum C, C++
    Antworten: 4
    Letzter Beitrag: 03.12.2008, 22:57
  4. Java
    Von Terror Hase im Forum Sonstiges
    Antworten: 8
    Letzter Beitrag: 07.09.2007, 16:32

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •