import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MonListener implements TickerListener {
private JLabel label;
private int count;
public MonListener(JLabel l) {
label = l;
count = 0;
}
public void tickPerformed(TickerEvent te) {
count++;
label.setText(""+count);
}
}
class MonAutreListener implements TickerListener {
public void tickPerformed(TickerEvent te) {
System.out.println("Tick");
}
}
public class Main implements Runnable,ActionListener {
private JFrame f;
public void actionPerformed(ActionEvent e) {
try {
UIManager.setLookAndFeel(e.getActionCommand());
SwingUtilities.updateComponentTreeUI(f);
} catch(Exception ex) {
}
}
public void run() {
f = new JFrame("Essai");
JMenu m = new JMenu("L&F");
UIManager.LookAndFeelInfo[]infos = UIManager.getInstalledLookAndFeels();
for (int i=0; i<infos.length; i++) {
JMenuItem mi = new JMenuItem(infos[i].getName());
mi.setActionCommand(infos[i].getClassName());
mi.addActionListener(this);
m.add(mi);
}
JMenuBar mb = new JMenuBar();
f.setJMenuBar(mb);
mb.add(m);
Ticker t = new Ticker();
JLabel l = new JLabel("--");
TickerListener tl = new MonListener(l);
t.addTickerListener(tl);
TickerListener tl2 = new MonAutreListener();
t.addTickerListener(tl2);
Container c = f.getContentPane();
c.setLayout(new BorderLayout());
c.add(t,BorderLayout.CENTER);
c.add(l,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
t.setDelay(3);
t.start();
}
public static void main(String []a) {
SwingUtilities.invokeLater(new Thread(new Main()));
}
}