L'intento e il risultato finale mi pare chiaro: l'utente deve poter disegnare in modo arbitrario con diversi strumenti, colori, ecc...Originariamente inviato da franc0103
si ma le swing le so gia utilizzare.. so disegnare linee e mettere eventi al mouse ecc.. solo ke nn so mi servirebbe una mano su come struttrsare il programma...
Quello che devi stabilire è come gestire la "permanenza" della varie azioni fatte dall'utente. Ti basta forse disegnare su una immagine off-screen tutto quello che vuole l'utente e poi all'evento di paint del tuo componente semplicemente "buttare" a video la immagine? Questo sì, sarebbe "permanente" e la immagine sarebbe oltretutto anche pronta per essere salvata su file in un certo formato in qualunque momento.
Però non sai più nulla di quello che ha fatto l'utente, non hai la "storia", non sai ad esempio se l'utente aveva usato lo strumento es. "cerchio" per fare un certo cerchio.
Oppure vuoi "taggare" ed avere l'elenco di tutte le figure e le operazioni fatte dall'utente? Questo permetterebbe non solo di poter "replicare" la immagine ma anche di modificare le azioni fatte. Se mantieni la informazione che l'utente ha disegnato un cerchio con tutte le sue proprietà, puoi permettere all'utente di "selezionare" il cerchio, puoi permettere la modifica delle proprietà, ad esempio spostare l'ordine di "stacking" delle figure, ecc...
Per iniziare, ti suggerisco di guardare tra i miei Java Examples (vedi firma) nella sezione AWT/Swing - Graphics dove troverai un esempio ArbitraryLinePainter.java che permette di disegnare linee usando la tecnica della immagine off-screen.