manumori90 ha scritto:
La tua idea va bene, a me non servono necessariamente i componenti reali, basta come hai detto tu la loro proiezione.. a me serve solo per capire quale componente sceglie l'utente, che sia cliccabile o no non mi interessa per ora..
Guarda, due possibilità agli "opposti" sono queste:
1) Se devi trattare anche componenti AWT o se non ti infastidisce il fatto di avere nel designer dei "veri" componenti, puoi fare un tuo pannello (estende es. JPanel) senza layout manager (=posizionamento assoluto) in cui inserisci realmente i vari componenti. Gestire il "trascinamento" dei componenti nel pannello è relativamente facile mentre visualizzare di volta in volta delle "decorazioni" su un componente specifico (bordo, quadratini per ridimensionamenti, ecc...) è un po' più difficile a seconda di dove/come devono presentarsi.
2) Se vuoi trattare solo componenti Swing e vuoi che non ci siano "veri" componenti ma solo loro "proiezioni", allora puoi fare sempre un tuo pannello (non conta il layout manager) in cui disegni tutto nel suo paintComponent(Graphics). All'interno del tuo pannello mantieni una "lista" di oggetti di una tua classe es. DesignComponent. Quest'ultima non è un componente ma una semplice classe che incapsula un qualunque JComponent. Ci metti un metodo es. draw(Graphics) che semplicemente invoca il paint sul componente con quel Graphics.
Ogni volta che il tuo pannello deve ridisegnarsi (paintComponent), iteri la lista e invochi i draw dei vari DesignComponent.
Gestire il trascinamento è un pochino più complesso rispetto a 1) mentre hai piena liberta per eventi ed eventuali decorazioni (che possono richiedere comunque un po' di lavoro).
Ovviamente non è tutto qui .... valuta le due opzioni e prova ad implementarne una (o entrambe). Se hai dubbi, chiedi pure.