Best practice gesucht: Java Swing + Zeichnen...

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/best_practice_gesucht_java_swing_zeichnen_191877/page_1 - zur Vollversion wechseln!


semteX schrieb am 19.02.2008 um 14:58

da ich jetzt schon seit 3.5 stunden mich mit Swing spiel und irgendwie ständig das gefühl hab, dass die lösung, die ich hab, absolut ned die sein kann, die jeder andere auch gehabt hätte...

also mal ne fragen an die leute, die sich öfters damit spielen:

Aufgabenstellung: ich brauch im prinzip ne Seite, auf welcher in der oberen hälfte ein 500 x 500 Feld ist, in dem herumgezeichnet werden kann. der Inhalt, welcher da reingebastelt werden soll, ist in einem BufferedImage gespeichert.

in der unteren Hälfte müssn 4 input felder + die dazugehörigen Labels hin.

anschließend fehlt noch ein "go" button.

diese lustige skizze sollt das verdeutlichen:

click to enlarge

Meine Frage is jetzt: Welchen LayoutManager würdet ihr verwenden (ich hatte schon TableLayout in einem TableLayout, dachte mir dann aber "oh **** that..."... und wichtiger: wie würdet ihr das mit dem BufferedImage lösen?

Im c# wär mein ansatz ja folgender: für das Bild einfach eine Bitmap hinknallen, auf der kann ma eh herummanipuliern wie man lustig ist, dann paar hilfslinien rein, labels und input felder setzen, das OnClickEvent vom Go registriern und fertig... nur mit dem ansatz sterb ich irgendwie in java tausend tode, und so wirklich gui entwickelt hab ich damit noch nie..

Vielen Dank,
semteX


DKCH schrieb am 19.02.2008 um 15:00

was willst jetzt, ein bufferedimage darstellen oder direkt auf einem canvas herumzeichnen?

edit: i bin ja ned so:

Code:
        BufferedImage image = ...
        Icon icon = new ImageIcon(image);
        JLabel label = new JLabel(icon);
 
        JPanel p = new JPanel();
        p.getContentPane().add(label);
        ...


semteX schrieb am 19.02.2008 um 15:01

ein buffered image darstellen.

/edit: im buffered image kann i ja dann eh herumzeichnen, wenn ich mir bi.createGraphics() das graphics hol, oder bin ich da am falschn dampfer?


prayerslayer schrieb am 19.02.2008 um 16:55

@layout: nimm ein borderlayout und hau das image in den norden und den go-button in den süden. ins center kommt ein panel mit gridlayout (2 cols, 4 rows), in dem die 4 dingsels drin sind.

wird imho das gescheiteste sein.


semteX schrieb am 20.02.2008 um 01:15

danke, werd mich daran machn, wenn ich wieder auf bin


semteX schrieb am 20.02.2008 um 18:28

mein dank an die helfer, des trum geht ;)


prayerslayer schrieb am 21.02.2008 um 14:18

hat's mit dem bufferedimage so funktioniert, wie du es dir vorgestellt hast?


semteX schrieb am 21.02.2008 um 14:21

ja perfekt. ma muss ned mal mehr irgendwas neu zeichnen lassn, wenn ma das bufferedimage verändert, funktioniert sofort on the fly.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025