16/11/2014, 10:22
|
| | Fecha de Ingreso: noviembre-2014
Mensajes: 28
Antigüedad: 10 años Puntos: 0 | |
Respuesta: tener 2 imagenes en 2 jpanels distintos una de fondo y la otra en medio una duda mas, como pongo un evento de botón para que me dibuje la ultima imagen solo si pulso el botón? he puesto el action listener alrededor del g.draw pero simplemente no ocurre nada, este es mi código con el boton pero sin el actionlistener ya que no sé donde debería ponerlo
package dobleimagen;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
/**
*
* @author Paulo
*/
public class DobleImagen extends JFrame {
public Image imagendefondo,ruleta;
public URL fondo,rueda;
JPanel pboton;
JButton reto,jb1;
public DobleImagen() throws InterruptedException{
this.setBounds(0,0,400,400);
this.setTitle("ventana");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
this.setLocationRelativeTo(null);
fondo=this.getClass().getResource("/imagenes/imagen.jpg");
imagendefondo=new ImageIcon(fondo).getImage();
rueda=this.getClass().getResource("/imagenes/rulketagif.gif");
ruleta=new ImageIcon(rueda).getImage();
Container contener=getContentPane();
contener.add(panel);
this.setVisible(true);
Dimension windowSize = this.getContentPane().getSize();
int width = size().width;
int height = size().height;
System.out.print("height"+height);
System.out.print("width"+width);
this.add(panel);
}
public JPanel panel=new JPanel(){
JButton reto = new JButton("reto");
ActionListener ActionEvent;
public void paintComponent(Graphics g){
g.drawImage(imagendefondo,0,0,getWidth(),getHeight (),this);
setOpaque(false);
panel.add(reto);
reto.setMargin(new Insets(30, 30, 30, 30)); //dimensiones boton
g.drawImage(ruleta,100,100,getWidth()-200,getHeight()-200,panel);
}
};
public static void main(String[] args) throws InterruptedException {
DobleImagen ventana=new DobleImagen();
}
} |