1 package taswi;
2
3 import java.awt.Color;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6 import java.beans.PropertyChangeListener;
7 import javax.swing.*;
8
9 public class TaSwi extends JFrame {
10 private JLabel jLabel1 = new JLabel();
11 private final JLabel jLabel2 = new JLabel();
12 private int cnt=0,flg=0;
13
14 public TaSwi() {
15 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
16 setBounds(800, 500, 400, 300);
17 getContentPane().setLayout(null);
18 setVisible(true);
19
20 jLabel1.setBackground(Color.red);
21 jLabel1.setFont(new java.awt.Font("Tahoma", 1, 30));
22 jLabel1.setText("Pippo");
23 jLabel1.setOpaque(true);
24 jLabel1.addPropertyChangeListener(new PropertyChangeListener() {
25 @Override
26 public void propertyChange(java.beans.PropertyChangeEvent evt) {
27 jLabel1PropertyChange(evt);
28 }
29 });
30 getContentPane().add(jLabel1);
31 jLabel1.setBounds(20, 20, 150, 79);
32
33 jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24));
34 jLabel2.setText("Pippo nero su fondo rosso");
35
36 getContentPane().add(jLabel2);
37 jLabel2.setBounds(20, 100, 500, 150);
38
39 new Timer(2500,new ActionListener() {
40 @Override
41 public void actionPerformed(ActionEvent evt) {
42 if (flg==0) {flg=1; cnt=1;}
43 if(cnt<=3){
44 cnt++;
45 switch (cnt) {
46 case 1:
47 jLabel1.setText("Pippo");
48 jLabel1.setBackground(Color.red);
49 jLabel1.setForeground(Color.black);
50 break;
51 case 2:
52 jLabel1.setText("Pluto");
53 jLabel1.setBackground(Color.green);
54 jLabel1.setForeground(Color.yellow);
55 break;
56 case 3:
57 jLabel1.setText("Paperino");
58 jLabel1.setBackground(Color.blue);
59 jLabel1.setForeground(Color.white);
60 cnt=0;
61 break;
62 default:
63 break;
64 }
65 }
66 }
67 }).start();
68 }
69
70 private void jLabel1PropertyChange(java.beans.PropertyChangeEvent evt) {
71 String col_fondo="";
72 String col_testo="";
73 String testo="";
74 String msg="";
75
76 String pro = evt.getPropertyName();
77 if ("text".equals(pro)){
78 String tx=jLabel1.getText();
79 if(null!=tx)switch (tx) {
80 case "Pippo":
81 col_fondo="Rosso";
82 col_testo="Nero";
83 testo="Pippo";
84 break;
85 case "Pluto":
86 col_fondo="Verde";
87 col_testo="Giallo";
88 testo="Pluto";
89 break;
90 case "Paperino":
91 col_fondo="Blu";
92 col_testo="Bianco";
93 testo="Paperino";
94 break;
95 default:
96 break;
97 }
98 msg = msg+testo +" "+ col_testo + " su fondo "+ col_fondo;
99 jLabel2.setText(msg);
100 }
101 }
102 public static void main(String args[]) {
103 java.awt.EventQueue.invokeLater(new Runnable() {
104 @Override
105 public void run() {
106 new TaSwi();
107 }
108 });
109 }
110 } |