Player1
27-08-2008, 17:30
Ok vorrei fare un programma un pò più complesso di quello che disegna un rettangolo ma per me il traguardo è riuscire a disegnare il rettangolo visto che poi tutte le funzionalità aggiuntive sono semplice codice aggiunto (almeno spero).
Ho un pò di nozioni di Java swing ed ho anche visto alcuni esempietti ma a me questo rettangolo proprio non vuole uscire, molto probabilmente perchè il jpanel nel quale vorrei disegnarlo si trova all'interno di altri componenti e la struttura (disegnata con NetBeans) è un bel pò più complessa rispetto alla semplicissima struttura con 3 classi per disegnare un frame con al centro un rettangolo mostrata negli esempi.
Bene passiamo al mio programma:
Ho come dicevo prima una struttura un pò complessa ma credo si possa tranquillamente trascurarla e concentrarsi sul pannello nel quale desidero visualizzare il disegno.
Esso è un Jpanel chiamato "pannelloDisegno".
Mettendo un mouseListener sempre mediante NetBeans a questo jpanel ho inserito il seguente codice:
private void pannelloDisegnoMousePressed(java.awt.event.MouseEvent evt) {
pannelloDisegno.setVisible(true);
Graphics g=pannelloDisegno.getGraphics();
g.setColor(Color.RED);
g.drawRect(1,1,10,10);
System.out.print("DEBUGok!!!");
pannelloDisegno.paint(g);
}
Bene, cliccando sul pannello ricevo sulla console la scritta "DEBUGok!!!" segno che il mouselistener funziona e che il codice che ho scritto sopra viene eseguito (e tra l'altro non lancia eccezioni di nessun tipo), ma purtroppo il pannello rimane grigio, non cambia assolutamente nulla.
Sapete dirmi dove si trova l'errore?
Grazie! :)
Ho un pò di nozioni di Java swing ed ho anche visto alcuni esempietti ma a me questo rettangolo proprio non vuole uscire, molto probabilmente perchè il jpanel nel quale vorrei disegnarlo si trova all'interno di altri componenti e la struttura (disegnata con NetBeans) è un bel pò più complessa rispetto alla semplicissima struttura con 3 classi per disegnare un frame con al centro un rettangolo mostrata negli esempi.
Bene passiamo al mio programma:
Ho come dicevo prima una struttura un pò complessa ma credo si possa tranquillamente trascurarla e concentrarsi sul pannello nel quale desidero visualizzare il disegno.
Esso è un Jpanel chiamato "pannelloDisegno".
Mettendo un mouseListener sempre mediante NetBeans a questo jpanel ho inserito il seguente codice:
private void pannelloDisegnoMousePressed(java.awt.event.MouseEvent evt) {
pannelloDisegno.setVisible(true);
Graphics g=pannelloDisegno.getGraphics();
g.setColor(Color.RED);
g.drawRect(1,1,10,10);
System.out.print("DEBUGok!!!");
pannelloDisegno.paint(g);
}
Bene, cliccando sul pannello ricevo sulla console la scritta "DEBUGok!!!" segno che il mouselistener funziona e che il codice che ho scritto sopra viene eseguito (e tra l'altro non lancia eccezioni di nessun tipo), ma purtroppo il pannello rimane grigio, non cambia assolutamente nulla.
Sapete dirmi dove si trova l'errore?
Grazie! :)