Hemos escrio una nueva versión del ejemplo TimingIsEverything que toma ventana del nuevo sistema de manejo de eventos y utilizar el nuevo método getSize. Aquí tienes el nuevo applet en acción:
Aquí tienes el código fuente de la versión 1.1 del applet TimingIsEverything:
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TimingIsEverything1_1 extends java.applet.Applet {
public long firstClickTime = 0;
public String displayStr;
public void init() {
displayStr = "Double Click Me";
addMouseListener(new MyAdapter());
}
public void paint(Graphics g) {
g.drawRect(0, 0, getSize().width-1, getSize().height-1);
g.drawString(displayStr, 40, 30);
}
class MyAdapter extends MouseAdapter {
public void mouseClicked(MouseEvent evt) {
long clickTime = System.currentTimeMillis();
long clickInterval = clickTime - firstClickTime;
if (clickInterval < 200) {
displayStr = "Double Click!! (Interval = " + clickInterval + ")";
firstClickTime = 0;
} else {
displayStr = "Single Click!!";
firstClickTime = clickTime;
}
repaint();
}
}
}
Para ver más detalles sobre estos y otros cambios en el AWT puedes ver la página Cambios en el GUI: el AWT Crece.