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
| import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Compteur extends JPanel {
protected char ref;
protected char sauv;
protected static int comp = 0;
protected static int posx;
protected static int posy;
/* constructeur */
public Compteur() {
posy = 100;
posx = 100;
KeyListener kl = new KeyListener() {
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
repaint(); //
ref = e.getKeyChar();
if(ref == sauv) {
comp ++;
repaint();
} else {
comp = 1;
sauv = ref;
}
}
};
addKeyListener(kl);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
this.affiche(g);
}
public void affiche(Graphics g) {
String aff = ref+" : "+comp;
g.setColor(Color.red);
g.drawString(aff, posx, posy);
}
public static void main (String[] args) {
JFrame f=new JFrame("Compteur");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Compteur c = new Compteur();
c.setPreferredSize(new Dimension(200,250));
f.setContentPane(c);
f.pack();
f.setVisible(true);
c.requestFocus();
MouseMotionListener mml = new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
if (SwingUtilities.isRightMouseButton(e)) {
posx = e.getX();
posy = e.getY();
}
}
};
c.addMouseMotionListener(mml);
}
} |