Innanzitutto immagino che ti stia riferendo a java.awt.Shape e alla marea di classi che la implementano.Originariamente inviato da raff5184
devo scrivere un metodo che generi casualmente oggetti che implementano l'interfaccia Shape: un miscuglio di rettangoli, ellissi e linee, con posizioni casuali. Devo poi invocare il metodo n volte e disegnare tutte le forme.
mi dareste una mano a capire quali classi devo realizzare e in che modo devo sfruttare l'interfaccia Shape.
Comunque per estrarre valori casuali puoi usare un java.util.Random. Per ogni forma da generare, estrai per prima cosa un valore casuale che ti indicherà il tipo di oggetto da istanziare e poi estrai N dati casuali a seconda del tipo di forma (es. per un Line2D.Float, hai bisogno di 4 float). I range dei valori delle forme ovviamente li devi stabilire tu.
Tutti gli Shape che ottieni dovresti a quel punto metterli in un array o collezione (es. ArrayList). Poi ti basta fare una classe che estende JPanel e in cui fai l'override di paintComponent(). Lì dentro scansioni la lista di Shape e ognuno lo disegni sul Graphics2D con draw(Shape) o fill(Shape). Il pannello ovviamente lo metti es. dentro un JFrame o in una applet, a seconda di cosa devi fare.
Questo a "parole" e a grandi linee.
Prova magari a scrivere del codice. Se hai dubbi, posta pure (anche il codice).