1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.SwingWorker;
import javax.swing.Timer;
import java.awt.image.BufferStrategy;
public class main_frame extends JFrame {
private final JLabel label = new JLabel();
private ImageIcon dos2;
private BufferStrategy bs;
private int w,h;
private Timer time;
private boolean painted = true;
/**
* Create the frame
*/
public main_frame() {
super();
this.setSize(800,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
jbInit();
} catch (Throwable e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(null);
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setBounds(0,0, 250, 250);
w = 50;
h = 50;
dos2 = new ImageIcon(Toolkit.getDefaultToolkit().getImage("table_1.png").getScaledInstance(w,h,Image.SCALE_DEFAULT));
label.setIcon(dos2);
getContentPane().add(label);
label.addMouseListener(new LabelMouseListener());
time = createTimer();
}
private Timer createTimer (){
ActionListener action = new ActionListener (){
public void actionPerformed (ActionEvent event){
new SwingWorker<Integer, String>() {
public Integer doInBackground(){
if(h<250){
painted = false;
h+=4;
w+=4;
dos2.setImage(Toolkit.getDefaultToolkit().getImage("table_1.png").getScaledInstance(w,h,Image.SCALE_DEFAULT));
label.setIcon(dos2);
//label.updateUI();
label.repaint();
}
else{
time.stop();
}
//repaint();
return 0;
}
}.execute();
}
};
return new Timer (30, action);
}
private class LabelMouseListener extends MouseAdapter {
public void mouseEntered(MouseEvent arg0) {
label_mouseEntered(arg0);
}
public void mouseExited(MouseEvent arg0) {
label_mouseExited(arg0);
}
}
protected void label_mouseEntered(MouseEvent arg0) {
//System.out.println("Entered");
time.start();
}
protected void label_mouseExited(MouseEvent arg0) {
//System.out.println("Exited");
h = 50;
w = 50;
dos2.setImage(Toolkit.getDefaultToolkit().getImage("table_1.png").getScaledInstance(w,h,Image.SCALE_DEFAULT));
label.setIcon(dos2);
label.repaint();
painted = true;
if(time.isRunning()){
time.stop();
}
repaint();
}
} |
Partager