JComponents

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi, ich habe ein Problem...

ich schreibe ein kleines Bildanzeigeprogramm das paint ähnlet, allerdings kann man die Rechtecke die man zeichnet später wieder verschieben, da es JComponents sind.

Zeichnet man ein Rechteck so geht das immer mit

Code:
jc = new DrawComponent(int breite, int höhe);
Panel.add(jc);

so das geht auch, doch möchte ich einen Filter auf ein DrawComponent anwenden, macht er das immer nur beim letzten erstellten.

also wäre es wichtig, wenn man wie bei professionelle Bildbearbeitungsprogrammen die Ebenen per Navigator auswählen kann, doch wie geht das?
... oder muss ich für jede Ebene ein DrawComponent erstellen ? (zb DrawComponent1, DrawComponent2)
doch das wären dann zuviele Klassen und außerdem wäre dann eine Beschränkung da!

Danke
 

KSG9|sebastian

Top Contributor
Du musst die gezeichneten Objekte speichern, z.B. in einer ArrayList. Und ja, du musst für jedes Objekt, das gezeichnet wird, ein neues Objekt anlegen und zwischenspeichern
 

thomas.g

Bekanntes Mitglied
..... ja, aber gibt es da vielleicht irgendein Beispiel das das kann?

Mich würde das nämlich auch interessieren, da ich was ähnliches mache!

danke, Thomas G
 

KSG9|sebastian

Top Contributor
hm.so würde ich es machen..


Code:
public class Applikation{
     private Collection elements;
     public Applikation(){
          elements = new ArrayList();
     }
     public void drawElement(int x, int y){
          DrawElement e = new DrawComponent(x, y);
          elements.add(e);
          //element auf frame hinzufügen..
          frame.add(e);
          repaint();
     }
     public void paint(Graphics g){
          for(int i=0;i<elements.size();i++)
               (DrawElement)elements.get(i).repaint();               

     }
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben