Δημιουργήστε μια ανάγνωση ψηφιακού ρολογιού σε Java.
Ένα από τα πιο ισχυρά χαρακτηριστικά της γλώσσας προγραμματισμού Java είναι η βιβλιοθήκη Swing graphical user interface (GUI). Οι χρήστες Java μπορούν να κατασκευάσουν οπτικά προγράμματα που βασίζονται σε συμβάντα, όπως ψηφιακά ρολόγια χρησιμοποιώντας μόνο μερικές απλές εντολές. Οι προγραμματιστές Java έχουν μια πληθώρα διαθέσιμων στοιχείων, όπως ετικέτες, κουμπιά και χρονόμετρα, τα οποία συνδέουν μεταξύ τους για να συναρμολογήσουν τα προγράμματά τους.
Βήμα 1
Δημιουργήστε μια τάξη DigitalClock. Πρέπει να επεκτείνει την κλάση JFrame που συνοδεύει τη βιβλιοθήκη διεπαφής χρήστη Swing στο Java Develoment Kit της Sun Microsystems. Θα εφαρμόσει επίσης τη διεπαφή ActionListener για να μπορέσει να ανταποκριθεί στο συμβάν του χρονοδιακόπτη και να επιτρέψει στο ρολόι να ενημερώνεται μόνο του. Αυτό μπορεί να γίνει επικολλώντας τον ακόλουθο κώδικα σε ένα αρχείο με το όνομα "DigitalClock.java".
Το βίντεο της ημέρας
εισαγωγή java.awt. Γραμματοσειρά GO εισαγωγή java.awt. HeadlessException GO εισαγωγή java.awt.event. ActionEvent GO εισαγωγή java.awt.event. ActionListener GO εισαγωγή java.text. SimpleDateFormat GO εισαγωγή java.util. Ημερομηνία GO εισαγωγή javax.swing. JFrame GO εισαγωγή javax.swing. JLabel GO εισαγωγή javax.swing. Χρονοδιακόπτης GO
/* * Αυτή η τάξη εμφανίζει ένα ψηφιακό ρολόι στην οθόνη. * @συγγραφέας Kevin Walker / δημόσια κλάση DigitalClock επεκτείνει το JFrame υλοποιεί ActionListener { // Σε όλα τα άλλα βήματα θα πρέπει να προστεθεί ο κώδικάς τους εδώ. }
Εάν χρησιμοποιείτε ένα αποκλειστικό περιβάλλον ανάπτυξης Java όπως το Netbeans ή το Eclipse, τότε θα υπάρχει μια επιλογή στο μενού Αρχείο για να το κάνετε αυτό αυτόματα για εσάς.
Βήμα 2
Δημιουργήστε ένα JLabel για να εμφανίσετε την τρέχουσα ώρα στον χρήστη χρησιμοποιώντας την ακόλουθη εντολή:
JLabel timeLabel = new JLabel();
Βήμα 3
Αρχικοποιήστε τη μορφή που θα έχει το ψηφιακό σας ρολόι χρησιμοποιώντας την κλάση SimpleDateFormat από τη βιβλιοθήκη Java.
SimpleDateFormat sdf = νέο SimpleDateFormat(\"HH: mm: ss\")
ΠΗΓΑΙΝΩ
Αυτή η μορφή θα εμφανίζει την τρέχουσα ώρα, λεπτά και δευτερόλεπτα για τον χρήστη. Μια πλήρης λίστα κωδικών μορφής είναι διαθέσιμη στο SimpleDateFormat Javadoc στον ιστότοπο της Sun Microsystems (βλ. Αναφορές).
Βήμα 4
Δημιουργήστε ένα χρονόμετρο. Αυτό το αντικείμενο δεν θα κρατά την ώρα, αλλά μάλλον θα λειτουργεί ως ξυπνητήρι που λέει στο πρόγραμμα να ενημερώνει τακτικά την τρέχουσα ώρα. Για να το κάνετε αυτό, επικολλήστε τον ακόλουθο κώδικα:
Χρονόμετρο χρονοδιακόπτη?
Βήμα 5
Δημιουργήστε μια μέθοδο κατασκευής για τη δημιουργία του προγράμματος επικολλώντας τα εξής:
public digitalClock() { // Εκτελέστε τον κατασκευαστή για τη γονική κλάση JFrame. σούπερ()
ΠΗΓΑΙΝΩ
// Έξοδος από το πρόγραμμα όταν ο χρήστης κλείσει το παράθυρο. this.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE)
ΠΗΓΑΙΝΩ
// Λάβετε την τρέχουσα ώρα συστήματος και εμφανίστε την // σύμφωνα με τη μορφή που ορίσαμε. timeLabel.setText (sdf.format (νέα Ημερομηνία (System.currentTimeMillis())))
ΠΗΓΑΙΝΩ
// Ορίστε μια μεγαλύτερη, καλύτερη γραμματοσειρά για το ψηφιακό ρολόι από την προεπιλεγμένη. timeLabel.setFont (new Font(\"Dialog\", Γραμματοσειρά. ΠΛΑΙΝ, 24))
ΠΗΓΑΙΝΩ
// Ρυθμίστε το χρονόμετρο ώστε να ενημερώνει το ρολόι κάθε 500 χιλιοστά του δευτερολέπτου (0,5 δευτερόλεπτα) χρονοδιακόπτης = νέος χρονοδιακόπτης (500, αυτό)
GO timer.setRepeats (true) GO timer.start() GO
// Προσθέστε την εμφάνιση της ώρας στο παράθυρο και κάντε την ορατή. this.add (timeLabel)
GO this.pack() GO this.setVisible (true) GO
}
Βήμα 6
Ενημερώστε το ρολόι με τη νέα ώρα συστήματος όποτε σβήνει ο χρονοδιακόπτης:
public void actionPerformed (ActionEvent e) { // Εάν το χρονόμετρο προκάλεσε αυτό το συμβάν. if (e.getSource().equals (χρονόμετρο)) { // Στη συνέχεια ορίστε μια νέα ώρα. timeLabel.setText (sdf.format (νέα Ημερομηνία (System.currentTimeMillis())))
ΠΗΓΑΙΝΩ }
}
Βήμα 7
Δημιουργήστε ένα σημείο εισόδου για το πρόγραμμα ψηφιακού ρολογιού από το λειτουργικό σύστημα δίνοντάς του μια κύρια μέθοδο.
public static void main (String[] args) { // Δημιουργία του ψηφιακού ρολογιού. νέο ψηφιακό ρολόι()
ΠΗΓΑΙΝΩ }