Java でデジタル時計を作成する方法

Java プログラミング言語の最も強力な機能の 1 つは、Swing グラフィカル ユーザー インターフェイス (GUI) ライブラリです。 Java ユーザーは、いくつかの単純なコマンドのみを使用して、デジタル時計のような視覚的なイベント駆動型プログラムを作成できます。 Java プログラマーは、ラベル、ボタン、タイマーなど、多数のコンポーネントを利用して、それらをつなぎ合わせてプログラムを組み立てます。
ステップ 1
DigitalClock クラスを作成します。 Sun Microsystems の Java 開発キットの Swing ユーザー インターフェイス ライブラリに付属する JFrame クラスを拡張する必要があります。また、ActionListener インターフェイスを実装して、タイマー イベントに応答し、クロックがそれ自体を更新できるようにします。これは、次のコードを「DigitalClock.java」という名前のファイルに貼り付けることで実行できます。
インポート java.awt.Font GO インポート java.awt.HeadlessException GO インポート java.awt.event.ActionEvent GO インポート java.awt.event.ActionListener GO インポート java.text.SimpleDateFormat GO インポート java.util.Date GO インポート javax.swing .JFrame GO import javax.swing.JLabel GO import javax.swing.Timer GO
/* * このクラスは、画面にデジタル時計を表示します。 * @author ケビン ウォーカー / public class DigitalClock extends JFrame implements ActionListener { // 他のすべてのステップは、ここにコードを追加する必要があります。 }
Netbeans や Eclipse などの専用の Java 開発環境を使用している場合は、[ファイル] メニューに、これを自動的に行うオプションがあります。
ステップ 2
次のコマンドを使用して、現在の時刻をユーザーに表示する JLabel を作成します。
JLabel timeLabel = new JLabel();
ステップ 3
Java ライブラリの SimpleDateFormat クラスを使用して、デジタル時計のフォーマットを初期化します。
SimpleDateFormat sdf = new SimpleDateFormat(\"HH:mm:ss\")
GO
この形式では、ユーザーの現在の時、分、秒が表示されます。形式コードの完全なリストは、Sun Microsystems の Web サイトの SimpleDateFormat Javadoc にあります (参考文献を参照)。
ステップ 4
タイマーを作成します。このオブジェクトは時間を保持するのではなく、現在の時間を定期的に更新するようにプログラムに指示する目覚まし時計として機能します。これを行うには、次のコードを貼り付けます:
Timer timer;
ステップ 5
以下を貼り付けて、プログラムをビルドするためのコンストラクター メソッドを作成します。
public digitalClock() { // Run the constuctor for the parent JFrame class. super()
GO
// Exit the program when the user closes the window. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
GO
// Get the current system time and display it // according to the format we defined. timeLabel.setText(sdf.format(new Date(System.currentTimeMillis())))
GO
// Set a larger, nicer font for the digital clock than the default. timeLabel.setFont(new Font(\"Dialog\", Font.PLAIN, 24))
GO
// Set the timer to update the clock every 500 milliseconds (0.5 seconds) timer = new Timer(500, this)
GO timer.setRepeats(true) GO timer.start() GO
// Add the time display to the window and make it visible. this.add(timeLabel)
this.pack() GO this.setVisible(true) GO
}
ステップ 6
タイマーがオフになるたびに、新しいシステム時間でクロックを更新します:
public void actionPerformed(ActionEvent e) { // If the timer caused this event. if (e.getSource().equals(timer)) { // Then set a new time. timeLabel.setText(sdf.format(new Date(System.currentTimeMillis())))
行く}
}
ステップ 7
main メソッドを指定して、オペレーティング システムからデジタル時計プログラムのエントリ ポイントを作成します。
public static void main(String[] args) { // Create the digital clock. new digitalClock()
行く}