17/01/10 19:47
crash outside control
Salve a tutti, quando disegno un'immagine il resto dei controlli non vengono visualizzati... Però se ci passo con il mouse sopra si, tranne i colori di sfondo dei vari panel... C'è un modo per ovviare ?
Questo è il codice che uso per disegnare l'immagine:
public void paint(Graphics g) {
Image img = getImage(getDocumentBase(), "darkangel.jpg");
//imm è un panel
g.drawImage(img, 50, 20, imm);
}
Grazie a tutti
Ultima modifica effettuata da crash outside control 17/01/10 19:48
aaa
17/01/10 23:01
netarrow
se vuoi disegnare un'immagine dentro un jpanel non devi fare l'overload di paint ma di paintComponent, richiamando prima il metodo della superclasse con super, e poi aggiungendo il tuo codice.
aaa
18/01/10 20:44
netarrow
Ultima modifica effettuata da netarrow 18/01/10 20:44
aaa
18/01/10 22:31
netarrow
Ti posto un esempio, mette come sfondo l'immagine a aggiunge in alto un bottone, se era questo quello che volevi:
import java.awt.*;
import javax.swing.*;
class Pannello extends JPanel {
private Image img;
public Pannello(Image img) {
this.img = img;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(img, 0, 0, this);
}
}
public class Prova extends JApplet {
private JButton b;
private Pannello p;
public void init() {
b = new JButton();
p = new Pannello(getImage(getDocumentBase(), "a.jpg"));
}
public void start() {
b.setText("prova");
p.add(b);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p, BorderLayout.CENTER);
}
}
Però non è così che dovrebbe funzionare il forum, cioè tentare alla cieca per poi farsi risolvere i problemi dal forum è una perdita di tempo per tutti: prima ti studi le basi poi quello che non torna lo chiedi.
Ultima modifica effettuata da netarrow 18/01/10 22:31
aaa