|
|
|
![]() |
|
Strumenti |
![]() |
#21 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Forse ti ha confuso il fatto che invece di dichiarare esplicitamente una classe che estende JPanel e poi fa l'override, io ti ho postato l'esempio con una classe anonima. Ma è canonico pure quello! ![]() Invece il resto dei miei vaneggiamenti era dovuto al fatto che leggendo il tuo codice avevo perso per starda un parentesi graffa e avevo erroneamente interpretato il codice pensando che avessi inserito il metodo paint dentro la classe Disegno... tutto qua ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
256 + 1 non va bene, il massimo per un componente intero di un Color è 255. Se ti capita un 255 ti salta fuori 256 con relativa eccezione.
Non devi collegare il mouseListener a pane ma a "pannello". Metti un Pannello.this.addMouseListener nell'actionPerformed al posto di pane.addMouseListener. Un conto è sovrascrivere paint un conto è sovrascrivere paintComponent. Se il pannello su cui disegni contiene altri componenti, come nel tuo caso, allora devi usare paint altrimenti i figli disegnano sopra al tuo paintComponent e non vedi una mazza. Capita perchè paintComponent viene prima di paintChildren. Al che mi viene il dubbio: ma tu vuoi mettere le crocette sul pannello o su un componente all'interno di quel pannello?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#23 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Come prima correzione del codice proporrei di inserire l'operazione di realizzazione del frame nella event queue.
Sistemato quello, prima di tutto il resto, poi si va a cascata. Altrimenti è difficile fare ipotesi sulla natura delle bizzarrie grafiche, giusto?
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#24 |
Member
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
|
|
![]() |
![]() |
![]() |
#25 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
No le bizzarrie sono evidenti. Il problema è che anzichè ridurle qui aumentano. Tipo: "cacchio quella roba lì era giusta, aspetta che adesso la correggo sbagliata"
![]()
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#26 |
Member
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
|
ho bisogno di una pausa!!
inizialmente comunque usavo paint, non paint Component |
![]() |
![]() |
![]() |
#27 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Mea culpa che ti ho fatto casino; mi ritiro con disonore
![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#28 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Capirai che non è che le tue intenzioni siano cristalline se mi sovrascrivi il metodo paint di Pannello e aggiungi il mouseListener a pane.
Se vuoi disegnare su "pane" sarà il metodo paintComponent di pane ad essere sovrascritto.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#29 |
Member
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
|
ollà, ecco l'inghippo! sovrascrivo il metodo della classe sbagliata! il problema è: come sovrascrivo il metodo di pane?
|
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
be' non hai molte opzioni: o crei una sottoclasse o... crei una sottoclasse.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#31 |
Member
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
|
sarà lo stress, la stanchezza, l'incazzatura...ma non ho idea di come si faccia una sottoclasse...
|
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Hai bisogno di una pausa. Pannello è una sottoclasse? Lo stesso devi fare per "pane":
Codice:
public class MyCanvas extends JPanel { @Override protected void paintComponent(Graphics g) {...eccetera} } JPanel pane = new JPanel() ci metterai: JPanel pane = new MyCanvas();
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:26.