# MVC Graphiceditor



## Unkownsyntax (7. Jun 2010)

Hi!
Ich hab ein problem und zwar ich soll mit mvc swing einen graphiceditor machen der kreise und rechtecke zeichnen kann aber ich hab überhaupt keine ahnung wie ich jetzt anfangen soll.... kann mir bitte wer helfen !!!


----------



## Gast2 (7. Jun 2010)

Das erste Bild gibt dir doch ne schöne Schritt für Schritt Anleitung wie du vorgehen kannst.
Wo liegt denn das Problem?


----------



## Unkownsyntax (8. Jun 2010)

ich hab ja unten bei apendix die klassen angegeben und was ich halt jetzt nicht ganz verstehe was in welche klasse gehört.
Eigentlich braucht man doch auch eine controller klasse für mvc ...


----------



## Gast2 (8. Jun 2010)

Es steht ja auch in der Beschreibung dass das nur eine mögliche Lösung, wenn du später denkst dass dir welche fehlen dann fügst du noch welche hinzu


----------



## Michael... (8. Jun 2010)

Unkownsyntax hat gesagt.:


> Eigentlich braucht man doch auch eine controller klasse für mvc ...


Wie wäre es mit: graphiceditor.Main ? Das ganze soll ja nur als Lösungshinweis dienen. Man darf sie sicherlich auch in graphiceditor.Controller umbenennen ;-)


----------



## Unkownsyntax (8. Jun 2010)

So hab jetzt gerade ein prob beim view teil....

Ich soll ja JToolBar Jtogglebutton und ButtonGroup verwenden...

JToolBar und togglebutton hab ich drinnen aber für was ich die buttongroup brauche ? 
muss ich die verwenden für die grafische oberfläche für das zeichnen? 
Wie muss ich das programmieren damit ich die oberfläche bekomme?



```
import model.GraphicModel;
import view.GraphicFrame;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */



/**
 *
 * @author UnknownSyntax
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    
    GraphicFrame graph =new GraphicFrame(new GraphicModel());
    graph.frame.setLocation(200,200);
    graph.frame.setSize(400, 400);
    graph.frame.setVisible(true);

    }

}
```




```
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JToggleButton;
import javax.swing.JToolBar;
import javax.swing.WindowConstants;
import model.GraphicModel;

/**
 *
 * @author UnknownSyntax
 */
public class GraphicFrame {

    //** mvc - model*/
    private GraphicModel model;
    /** parent frame*/
    public JFrame frame;
    /** toolbar frame*/
    private JToolBar toolbar;

    public GraphicFrame(GraphicModel graphmodel) {

        frame = new JFrame("Graphic Application");

        this.model = graphmodel;

        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        toolbar = new JToolBar();
        toolbar.setRollover(true);

        JToggleButton button1 = new JToggleButton("Circle");
        toolbar.add(button1);

        JToggleButton button2 = new JToggleButton("Rectangle");
        toolbar.add(button2);

        Container contentPane = frame.getContentPane();
        contentPane.add(toolbar, BorderLayout.NORTH);        

    }
}
```


----------



## Gast2 (8. Jun 2010)

Die ButtonGroup brauchst du für deine 2 JToggleButton. Die sorgt dafür dass du immer nur jeweils einen Button gedrückt haben kannst.



> Wie muss ich das programmieren damit ich die oberfläche bekomme?


Dein Fenster? Die Zeichenfläche?


----------



## Unkownsyntax (8. Jun 2010)

EikeB hat gesagt.:


> Die ButtonGroup brauchst du für deine 2 JToggleButton. Die sorgt dafür dass du immer nur jeweils einen Button gedrückt haben kannst.
> 
> 
> Dein Fenster? Die Zeichenfläche?



Ja keine ahnung wie ich dass jetzt mit der zeichenfläche mache...


----------



## Gast2 (9. Jun 2010)

Das naheliegendste wäre doch ein JPanel auf das du dann deine Formen malst


----------

