|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Registered User
Iscritto dal: Aug 2006
Messaggi: 305
|
[Java] Netbeans: disegnare palle e quadri
Premetto che ho provato e riprovato...ma ora mi arrendo.
Qual è il segreto per disegnare grafica in un pannello con NetBeans? Codice:
public Class Main(){
...
public static void main(String[] args) {
mnFrame = new MainFrame();
mnFrame.setVisible(true);
}
...
}
public Class MainFrame {
...
public MainFrame() {
initComponents();
Carta foglio = new Carta(100,100);
Container c = this.getContentPane();
c.add(foglio);
}
...
}
public class Carta extends JPanel{
private int larghezza,altezza;
public Carta(int width,int height) {
larghezza=width;
altezza=height;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.CYAN);
g.fillRect(20,0,40,40);
g.setColor(Color.BLUE);
g.fillRect(20,40,70,70);
}
}
|
|
|
|
|
|
#2 |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
E' un po' che non metto mano a Java... ma prova a settare il Layout Manager a quel Container.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il contenitore ha già un layout manager (FlowLayout se è un JPanel, BorderLayout se è il pannello del contenuto di un JFrame).
Carta non ha una dimensione. Per dargliela puoi scrivere in Carta: Codice:
public Dimension getPreferredSize() {
return new Dimension(larghezza, altezza);
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 | |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
Quote:
E poi la dimensione la dai sovrascrivendo il metodo getPreferredSize e non usando il set.... perché fai così? Grazie. Ultima modifica di naoto84 : 13-08-2007 alle 23:32. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Un layout l'hanno sempre avuto. Non ricordo quale fosse quello predefinito per il pannello del contenuto delle finestre Swing, forse era FlowLayout (che è quello predefinito dei JPanel).
Sovrascrivo getPreferredSize perchè il disegno è fatto con il posizionamento assoluto da cui induco che quantomeno la dimensione preferita di Carta sia destinata a restare quella assegnata in costruzione. Se così non fosse, andrebbe rimosso il costruttore che accetta i due interi e la dimensione andrebbe impostata esternamente con setPreferredSize.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#6 | |
|
Registered User
Iscritto dal: Jun 2006
Città: Tuttoporto (Sicily) Tipologia: Giocatore-samurai
Messaggi: 2199
|
Quote:
Anche usare il set ora è inutile, tanto il get ritorna sempre la stessa cosa. Che maniere forti. (Giurerei che quando studiavo fondamenti, con java 1.2, non settare il Layout Manager mi rendeva sempre invisibile tutto... chissà cosa facevo)
|
|
|
|
|
|
|
#7 | |
|
Registered User
Iscritto dal: Aug 2006
Messaggi: 305
|
Quote:
OOOK funzia. Danke |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:51.












chissà cosa facevo)








