AAAAAAAAAAAARGGHHHH! So' stato un casino di tempo sul costruttore prima di notare il paint()...
Usa questo:
Come ti ho detto, i componenti Swing (JFrame, JButton, JTextField, etc. etc... tutti derivati da JComponent) vengono "dipinti", in particolare dai metodi paint() delle varie superclassi della tua. Quindi devi richiamare prima paint della tua superclasse (che a sua volta richiamera' paint della sua superclasse e cosi' via...) e poi aggiungere gli elementi che desideri.codice:public void paint(Graphics g) { super.paint (g); //setBackground(Color.blue); g.drawImage(sfondo,0,0,this); }
I componenti AWT (Window, Frame, Button, Label, e altri derivati da Component) invece, vengono generati dal sistema operativo. Cio', se da un lato e' comodo, dall'altro rende la portabilita' delle applicazioni un macello: in pratica i componenti awt devono limitarsi a fornire funzionalita' che _TUTTI_ i sistemi operativi possono fornire.
Contrariamente a quanto potresti immaginare, i componenti Swing sono estensioni (in senso lato) dei componenti awt, nel senso che la classe JComponent estende la classe Component (ma JButton non estende Button!!!)
Bene, spero di averti confuso le idee...![]()