ruggeroerre
07-01-2013, 14:19
salve a tutti
mi sto cimentando con la grafica in java, però non ho capito come far apparire un immagine solo se viene premuto un JButton. questo è il codice che ho scritto, però non ho capito come devono interagire i metodi paintcomponent e actionperformed...
public class PanelCol2 extends JPanel implements ActionListener{
JButton b3;
Image img1;
public PanelCol2() throws MalformedURLException{
super();
b3 = new JButton("cane");
b3.addActionListener(this);
add(b3);
Toolkit tk = Toolkit.getDefaultToolkit(); //estraiamo il toolkit del pannello
URL url = new URL("http://digital-photography-school.com/wp-content/uploads/2007/07/pet-photograph.jpg");
img1 = tk.getImage(url); //assegnamo il valore all'immagine a partire dal toolkit
MediaTracker mt = new MediaTracker(this);//mt si occupa del caricamento delle immagini. il componente su cui avverrà il disegno è il pannello stesso(this)
mt.addImage(img1, 1);//aggiungiamo l'immagine specificando un num identificativo
try { mt.waitForAll(); //si dice a mt di aspettare il caricamento delle immagini
}
catch (InterruptedException e) {}
}
public void actionPerformed(ActionEvent e){
Object pulsantepremuto = e.getSource();
if(pulsantepremuto==b3{ //e ora??????
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(img1, 200, 200, null);
}
vi ringrazio in anticipo ;)
mi sto cimentando con la grafica in java, però non ho capito come far apparire un immagine solo se viene premuto un JButton. questo è il codice che ho scritto, però non ho capito come devono interagire i metodi paintcomponent e actionperformed...
public class PanelCol2 extends JPanel implements ActionListener{
JButton b3;
Image img1;
public PanelCol2() throws MalformedURLException{
super();
b3 = new JButton("cane");
b3.addActionListener(this);
add(b3);
Toolkit tk = Toolkit.getDefaultToolkit(); //estraiamo il toolkit del pannello
URL url = new URL("http://digital-photography-school.com/wp-content/uploads/2007/07/pet-photograph.jpg");
img1 = tk.getImage(url); //assegnamo il valore all'immagine a partire dal toolkit
MediaTracker mt = new MediaTracker(this);//mt si occupa del caricamento delle immagini. il componente su cui avverrà il disegno è il pannello stesso(this)
mt.addImage(img1, 1);//aggiungiamo l'immagine specificando un num identificativo
try { mt.waitForAll(); //si dice a mt di aspettare il caricamento delle immagini
}
catch (InterruptedException e) {}
}
public void actionPerformed(ActionEvent e){
Object pulsantepremuto = e.getSource();
if(pulsantepremuto==b3{ //e ora??????
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(img1, 200, 200, null);
}
vi ringrazio in anticipo ;)