|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Northampton (UK)
Messaggi: 435
|
[java] Ruotare un poligono
Salve ho un problema a svolgere un esercizio questo è il testo:
Codice:
1. Gestione della GUI
a) Lo studente implementi una interfaccia utente di tipo JFrame secondo le specifiche riportate di seguito (punti
18):
• nel JFrame è presente una barra dei menù con la voce “immagine”, contenente gli item “carica” ed “elabora”
• il JFrame ha un layout di tipo BorderLayout
• nel JFrame sono presenti quattro pannelli nel seguito indicati con i nomi pannelloA, pannelloB, pannelloC e
pannelloD (di dimensioni a piacere), disposti a piacere
• il pannelloA ha un layout di tipo FlowLayout
• il pannelloA contiene tre JButton nel seguito indicati con i nomi “pannelloB”, “pannelloC” e “Entrambi”
2. Grafica e gestione degli eventi
a) nel pannelloB appare, centrato, un trapezio rettangolo vuoto e di colore verde, le dimensioni sono a piacere, nel
pannelloC appare, posizionata a piacere, una stella a sette punte piena e di colore rosso, le dimensioni sono a
piacere (punti 6)
b) ad ogni pressione dei JButton le figure nei corrispondenti pannelli devono ruotare su se stesse per 3 volte e poi
fermarsi (il tempo di rotazione è a piacere), ad ogni pressione dei JButton i corrispondenti pannelli devono
cambiare colore in maniera random finché le figure non hanno finito di ruotare (il tempo di cambiamento deve
molto minore del tempo di rotazione) (punti 6)
Qualcuno potrebbe essere così gentile da darmi una mano a risolverlo nn riesco a far girare questi maledetti poligoni richiesti!!
__________________
Starcraft II: Darksoul, 799 Nick Steam: paoletto84 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Northampton (UK)
Messaggi: 435
|
almeno mi spiegate come gestire 2 timer?
__________________
Starcraft II: Darksoul, 799 Nick Steam: paoletto84 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Puoi applicare la rotazione in due modi. Quello più sensato è trasformare i punti del poligono in modo tale che la loro posizione cambi in conseguenza di una rotazione attorno al baricentro. Quello meno sensato ma più performante è sfruttare l'API Java 2D: non cambi i punti del poligono ma gli attributi di trasformazione del contesto grafico. In sintesi:
graphics.rotate(angolo, baricentro); graphics.paint(il poligono); graphics.rotate(-angolo, baricentro); Quanto alla gestione di più javax.swing.Timer... be', un Timer ha un metodo start e uno stop, li gestisci con quelli.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2005
Città: Northampton (UK)
Messaggi: 435
|
per ruotare ho trovato migliore l'affineTransform.
Cmq grazie ho risolto tutto
__________________
Starcraft II: Darksoul, 799 Nick Steam: paoletto84 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:33.



















