`
tyl
  • 浏览: 50767 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

Java简单时钟例子

阅读更多

import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Clock1 extends JFrame implements Runnable {
 private static final long serialVersionUID = 1L;

 public Clock1() {
  enableEvents(AWTEvent.WINDOW_EVENT_MASK);
  try {
   jbInit();
  }
  catch (Exception e) {
   e.printStackTrace();
  }
 }
 Thread thread1;    // 定义线程对象
 Color handColor;    // 定义表示时针、分针和秒针颜色的变量
 Color numberColor;   // 定义表示时钟数字颜色的变量
 JLabel jLabel1 = new JLabel();

 public void init() {
  int x, y;
  handColor = Color.blue;
  numberColor = Color.darkGray;
  setBackground(Color.white);
 }

 // paint is the main part of the program
 public void paint(Graphics g) {
  int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 0, xpoint, ypoint;
  int day, month, year, weekday;
  Calendar c1 = Calendar.getInstance();
  // 获得当前时间
  s = c1.get(Calendar.SECOND);
  m = c1.get(Calendar.MINUTE);
  h = c1.get(Calendar.HOUR_OF_DAY);
  // 获得当前日期
  day = c1.get(Calendar.DATE);
  month = c1.get(Calendar.MONTH) + 1;
  year = c1.get(Calendar.YEAR);
  weekday = c1.get(Calendar.DAY_OF_WEEK) - 1;
  // 在标签控件上显示日期和时间
  jLabel1.setText("    " + year + "年" + month + "月" + day + "日" + "    " + "星期" + weekday + "    " + h + ":" + m + ":" + s);
  xpoint = 130;
  ypoint = 100;
  // 计算时针、分针和秒针的位置
  xs = (int) (Math.cos(s * 3.14f / 30 - 3.14f / 2) * 45 + xpoint);
  ys = (int) (Math.sin(s * 3.14f / 30 - 3.14f / 2) * 45 + ypoint);
  xm = (int) (Math.cos(m * 3.14f / 30 - 3.14f / 2) * 40 + xpoint);
  ym = (int) (Math.sin(m * 3.14f / 30 - 3.14f / 2) * 40 + ypoint);
  xh = (int) (Math.cos((h * 30 + m / 2) * 3.14f / 180 - 3.14f / 2) * 30 + xpoint);
  yh = (int) (Math.sin((h * 30 + m / 2) * 3.14f / 180 - 3.14f / 2) * 30 + ypoint);
  // 绘制时钟背景
  g.setColor(handColor);
  g.clearRect(0, 0, 260, 200);
  g.drawOval(xpoint / 2 + 10, ypoint / 2 - 5, 110, 110);
  g.setColor(numberColor);
  g.drawString("9", xpoint - 45, ypoint + 3);
  g.drawString("3", xpoint + 40, ypoint + 3);
  g.drawString("12", xpoint - 5, ypoint - 37);
  g.drawString("6", xpoint - 3, ypoint + 45);
  g.setColor(getBackground());

  g.setColor(numberColor);
  g.drawString("", 5, 125);
  // 绘制时针、分针和秒针
  g.drawLine(xpoint, ypoint, xs, ys);
  g.setColor(handColor);
  g.drawLine(xpoint, ypoint, xm, ym);
  g.drawLine(xpoint, ypoint, xh, yh);
 }

 // 定义线程的run方法
 public void run() {
  Thread me = Thread.currentThread();
  while (thread1 == me) {
   try {
    Thread.currentThread().sleep(100);
   }
   catch (InterruptedException e) {
    e.printStackTrace();
   }
   repaint();
  }
 }

 // 开始执行线程
 public void start() {
  thread1 = new Thread(this);
  thread1.start();
 }

 // 停止线程
 public void stop() {
  thread1 = null;
 }

 public void update(Graphics g) {
  paint(g);
 }

 private void jbInit() throws Exception {
  this.getContentPane().add(jLabel1, BorderLayout.SOUTH);
 }

 protected void processWindowEvent(WindowEvent e) {
  super.processWindowEvent(e);
  if (e.getID() == WindowEvent.WINDOW_CLOSING) {
   System.exit(0);
  }
 }
 public static void main(String[] args) {
  Clock1 clock1 = new Clock1();
  clock1.init();
  clock1.start();
  clock1.setSize(280, 230);
  clock1.setResizable(false);
  clock1.setVisible(true);
 }
}

// 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ming0630/archive/2006/04/29/696394.aspx

分享到:
评论

相关推荐

    Java简单时钟(awt)

    在这个“Java简单时钟(AWT)”的例子中,我们将深入探讨这两个库在构建一个模拟石英钟的应用中的应用,同时还会涉及到系统托盘功能的实现。 **AWT与Swing** AWT是Java的原始GUI库,它提供了基本的窗口组件,如按钮...

    Java编写时钟代码

    setTitle("Java时钟"); setSize(200, 100); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); // 创建时钟标签 JLabel clockLabel = new JLabel("00:00:00"); clockLabel....

    java动态时钟效果

    以上代码展示了如何创建一个简单的Java动态时钟。在这个例子中,我们创建了一个`ClockPanel`类,其中包含了定时器和绘图逻辑。在主程序中,我们创建了一个`JFrame`并添加了`ClockPanel`实例。这样,当程序运行时,就...

    java实验 时钟代码

    在这个实验中,我们将深入探讨如何创建一个能够实时显示当前时间的Java时钟应用。 首先,让我们讨论Java中的线程。在时钟应用中,我们需要一个独立的线程来不断地更新时间,以免阻塞主线程(通常是负责用户界面的...

    java实现时钟

    综上所述,"java实现时钟"这个项目涵盖了Java GUI编程、图形绘制、线程处理、时间日期操作等多个核心领域,是学习和实践Java技术的好例子。通过这个项目,开发者可以深入理解Java的多线程、图形用户界面设计以及时间...

    嵌入网页的Java时钟(Applet)

    总的来说,这个Java时钟Applet展示了早期Java在网络应用中的能力,同时也提醒我们技术的不断演进。虽然现在Applet已不再是主流,但它在Java历史中的地位不可忽视,对于学习Java和Web开发的历史有着重要的参考价值。

    java 实现数字时钟 实例代码

    这个简单的Java程序创建了一个数字时钟,每秒自动更新一次时间。时钟以24小时格式显示小时、分钟和秒。通过`TimerTask`和`Timer`,我们可以定期执行特定任务,例如在这个例子中,是更新时钟显示。`JLabel`的文本颜色...

    Java GUI时钟程序

    Java GUI时钟程序是利用Java Swing或JavaFX库来创建一个图形用户界面,展示实时时钟的应用。在Java中,我们可以构建这样的程序来提供可视化的时间显示,这在教学、小型项目或者作为桌面小工具时非常实用。下面我们将...

    java时钟定时器,便捷式时钟程序,实现了时钟的控制面板

    这个Java程序是一个简单的时钟应用,它利用了Java Swing库来创建一个图形用户界面(GUI),并在界面上绘制了一个模拟时钟。时钟包括时针、分针和秒针,可以实时更新显示当前的时间。下面将详细介绍这个程序的主要...

    Java_Clock.rar_Clock.Java_clock java_java漂亮界面_时钟 java_时钟,Applet

    总的来说,这个Java时钟程序结合了Applet、多线程以及GUI设计,为初学者提供了一个实践Java基础知识的好例子。通过学习和理解这个程序,开发者可以深入了解Java GUI编程、事件处理以及线程管理等核心概念。

    完整java编写的时钟程序

    本教程将深入探讨一个基于Java编写的时钟程序,它可以帮助初学者理解如何在Java中处理时间并创建实时更新的时钟界面。 首先,Java中的`java.time`包提供了丰富的类来处理日期、时间和时区。在这个时钟程序中,主要...

    java写的时钟 java 时钟

    Java编写的时钟程序是一个...总的来说,这个"java写的时钟"程序是学习Java编程、线程和时间日期API处理的好例子。通过理解并实现这样的程序,开发者可以深化对Java核心概念的理解,并掌握如何构建实时更新的应用程序。

    利用JAVA applet绘制的时钟

    在这个例子中,`paint()`方法会画出时钟的指针和数字。 - `stop()`:当applet不再可见或者浏览器离开包含applet的页面时调用,停止applet的运行循环。 3. **`Clock.java`文件分析**: - 这个文件很可能是实现时钟...

    Java awt示例程序:简易小时钟.rar

    Java awt示例程序:简易小时钟,代码的注释很丰富哦,只有一个java文件。Thread 时针=null, 分针=null,秒针=null; //用来表示时针、分针和秒针的线程。  //表示时针、分针、秒针端点的整型变量:  int hour_a,...

    java时钟设计

    这个Java时钟设计案例涉及到多个关键概念和编程技巧,包括事件处理、图形绘制、定时器使用以及日期时间的操作。 ### Java时钟设计的关键知识点 #### 1. Swing组件的使用 Swing是Java中的一个用于构建图形用户界面...

    数字时钟java源码

    这个简单的数字时钟程序虽然小巧,但它整合了Java编程中的多个重要概念,对于初学者来说是一个很好的实践项目。通过这个项目,开发者不仅可以学习到Java的基础知识,还能了解到如何构建GUI程序以及如何处理多线程,...

    JAVA时钟简单好学

    Java时钟程序是一个基于GUI(图形用户界面)的简单应用,它使用了Java Swing库来构建界面,并通过多线程技术实现动态显示时间更新。在这个程序中,我们有两个主要的组件:一个显示数字时间的按钮和两个面板,分别...

    java AWT 时钟

    在这个"java AWT 时钟"的例子中,我们将深入探讨如何使用AWT来创建一个简单的数字时钟。 首先,让我们了解一下AWT中的关键组件。在AWT中,`Frame`类代表了一个窗口,它是所有顶级容器的基础。在这个时钟示例中,`...

    java时钟源代码

    这个Java时钟小程序不仅展示了如何使用Swing和AWT来创建一个简单的图形用户界面,还涉及到了定时器、数学计算等方面的知识。通过这个例子,学习者可以更好地理解如何在Java中进行图形界面开发以及相关的数学计算。

    我的时钟(小例子)

    【标题】"我的时钟(小例子)"是一款简单的应用,旨在展示如何在编程环境中实现一个功能齐全的时钟,能够实时显示当前的时间和日期。这个应用可能是一个初学者项目,用于学习基本的用户界面设计和时间处理技术。 在...

Global site tag (gtag.js) - Google Analytics