Volevo realizzare un orologio in java, questo e' il programmaattuale composto da due classi:
codice:
package clock;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Locale;
import javax.swing.JLabel;
import javax.swing.Timer;
import javax.swing.border.LineBorder;
public class TimeLabel extends JLabel {
private static final long serialVersionUID = 1L;
private static final DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM, Locale.US);
public TimeLabel() {
super(dateFormat.format(Calendar.getInstance().getTime()));
setBorder(new LineBorder(Color.ORANGE, 2, true));
new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
setText(dateFormat.format(Calendar.getInstance().getTime()));
}
}).start();
}
}
package clock;
import java.awt.BorderLayout;
import javax.swing.JFrame;
public class Main extends JFrame {
private static final long serialVersionUID = 1L;
public Main() {
getContentPane().add(new TimeLabel(), BorderLayout.NORTH);
setUndecorated(true);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
Ho due problemi:
1- siccome ho impostato il setUndecorated a true, non viene visualizzato il frame, perfetto, la controindicazione e' che non riesco a muovere l,orologio. Come faccio a muoverlo lasciando setUndecorated a true?
2- vorrei che l'orologio fosse sempre in primo piano, purtroppo il metodo setAlwaysOnTop e' stato introdotto nella 1.5 mentre io devo usare il java 1.4.2, quindi che codice posso utilizzare per mostrare l'applicazione sempre in primo piano?
grazie