学JAVA 做的第一个GUI程序......
import java.awt.*;
import javax.swing.*;
import java.util.*;
class Clock extends JFrame
{
public static double PI = 3.14159265;
Calendar now;
int hh;
int mm;
int ss;
Clock()
{
super("我的时钟");
setSize(400,400);
setVisible(true);
}
public void paint(Graphics g)
{
g.setColor(Color.WHITE);
g.fillRoundRect(100,100,200,200,200,200);
g.setColor(Color.BLACK);
g.drawString("1",(int)(200-2+100*(Math.sin(30*2*PI/360))),(int)(200+10-100*(Math.cos(30*2*PI/360))));
g.drawString("2",(int)(200-6+100*(Math.sin(30*2*2*PI/360))),(int)(200+10-100*(Math.cos(30*2*2*PI/360))));
g.drawString("3",(int)(200-7+100*(Math.sin(30*3*2*PI/360))),(int)(200-100*(Math.cos(30*3*2*PI/360))));
g.drawString("4",(int)(200-6+100*(Math.sin(30*4*2*PI/360))),(int)(200-100*(Math.cos(30*4*2*PI/360))));
g.drawString("5",(int)(200-2+100*(Math.sin(30*5*2*PI/360))),(int)(200-2-100*(Math.cos(30*5*2*PI/360))));
g.drawString("6",(int)(200+100*(Math.sin(30*6*2*PI/360))),(int)(200-100*(Math.cos(30*6*2*PI/360))));
g.drawString("7",(int)(200+100*(Math.sin(30*7*2*PI/360))),(int)(200-100*(Math.cos(30*7*2*PI/360))));
g.drawString("8",(int)(200+100*(Math.sin(30*8*2*PI/360))),(int)(200-100*(Math.cos(30*8*2*PI/360))));
g.drawString("9",(int)(200+100*(Math.sin(30*9*2*PI/360))),(int)(200-100*(Math.cos(30*9*2*PI/360))));
g.drawString("10",(int)(200+2+100*(Math.sin(30*10*2*PI/360))),(int)(200+2-100*(Math.cos(30*10*2*PI/360))));
g.drawString("11",(int)(200+100*(Math.sin(30*11*2*PI/360))),(int)(200+10-100*(Math.cos(30*11*2*PI/360))));
g.drawString("12",(int)(200+100*(Math.sin(30*12*2*PI/360))),(int)(200+10-100*(Math.cos(30*12*2*PI/360))));
g.setColor(Color.RED);
Calendar now=Calendar.getInstance();
int hh=now.get(Calendar.HOUR_OF_DAY);//小时
int mm=now.get(Calendar.MINUTE);//分钟
int ss=now.get(Calendar.SECOND);// 秒
g.drawLine(200,200,(int)(200+90*(Math.sin(6*ss*2*PI/360))),(int)(200-90*(Math.cos(6*ss*2*PI/360)))); //画秒针
g.setColor(Color.black);
g.drawLine(200,200,(int)(200+70*(Math.sin(6*mm*2*PI/360))),(int)(200-70*(Math.cos(6*mm*2*PI/360))));//画分针
g.setColor(Color.blue);
g.drawLine(200,200,(int)(200+50*(Math.sin((30*hh+0.5*mm)*2*PI/360))),(int)(200-50*(Math.cos((30*hh+0.5*mm)*2*PI/360)))); //画时针
try{Thread.sleep(500);}catch(Exception e){}
repaint();
}
public static void main(String[] args)
{
Clock c = new Clock();
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
分享到:
相关推荐
本教程将聚焦于一个简单的Java项目——“java做的时钟”,这非常适合初学者入门学习。 首先,我们需要理解Java Swing库,它是Java提供的一种用于构建图形用户界面(GUI)的工具包。在“java做的时钟”项目中,Swing...
【JAVA语言写的一个桌面小时钟】是一款基于JAVA编程语言开发的桌面应用,它为用户提供了一个简单易用且直观的时间显示工具。JAVA作为一种广泛应用于各种领域的编程语言,具有跨平台、面向对象、健壮性强等特点,使得...
Java图形化编程基础是Java SE(标准版)平台的一部分,主要通过Java的AWT(Abstract Window Toolkit)和Swing库来实现。在这个场景中,我们关注的是如何利用这些库来创建一个静态的时钟钟面。这个项目的目标是展示...
【Java编程:构建一个闹钟程序】 在Java编程中,创建一个闹钟程序涉及到时间管理、事件处理和用户界面设计等多个方面。以下是一些关键的知识点: 1. **基础概念**: - **Java**: Java是一种面向对象的编程语言,...
Java 数字小时钟电子表是一种基于Java编程语言实现的时钟应用,它可以实时显示当前时间,通常以24小时制的数字格式呈现。这个程序利用了Java的基础语法、线程和日期时间处理来构建,为学习Java编程的初学者提供了一...
Java图形界面时钟是一种利用Java编程语言开发的GUI(图形用户界面)应用程序,它能够模拟现实世界中的机械钟,展示当前的时间。在这个程序中,开发者通过设计和实现一个美观的界面,增强了用户的视觉体验,使其在...
在Java小时钟源码中,可能使用了`javax.swing.JFrame`来创建主窗口,并通过`JLabel`或者`JTextArea`显示时间。`Timer`类则用于每隔一定间隔更新时间显示。 1. **Java Swing组件**:`JFrame`是窗口的基础,通常用于...
通过以上分析,可以看出这是一个简单的Java桌面小时钟项目,旨在帮助初学者理解基本的Java GUI编程原理和技术。虽然这个例子较为基础,但它涵盖了构建桌面应用程序的关键概念,对于进一步学习和开发更为复杂的应用...
通过java语言实现的小时钟,希望有这个对有需要的人有用处吧。不过运行时需要自行添加图片,那就自己搞定吧
从给定的代码片段来看,这是一个使用Java编写的简单时钟程序。该程序利用了Swing库中的组件以及AWT库中的图形处理功能,来实时显示当前的时间,并以图形界面的形式展示出来。下面将详细解析这段代码的关键知识点。 ...
这个方法返回一个 `LocalTime` 对象,包含了小时、分钟和秒。例如: ```java LocalTime currentTime = LocalTime.now(); ``` 2. **格式化时间**: Java 提供了 `DateTimeFormatter` 类来格式化时间。我们可以...
数字时钟是计算机或应用程序中常见的一个组件,它通常以24小时制或12小时制显示当前时间。在这个Java程序中,数字时钟会不断更新,与系统的实际时间保持同步,这意味着它会每隔一秒或更短的时间间隔刷新一次时间显示...
在这个项目中,我们看到一个名为"钟"的Java源代码,它可能是一个实现了时钟功能的类或者一个包含多个类的项目。 首先,让我们了解Java GUI的基础。Java提供了多种库来创建GUI,最常用的是Java AWT(Abstract Window...
标题“JAVA做的时钟,很漂亮”表明这是一个使用Java实现的美观时钟应用程序。描述中提到可以设置背景透明度,这涉及到Java GUI组件的高级特性。 首先,这个时钟程序可能使用了Java Swing或JavaFX库来构建GUI。Swing...
虽然未提及,但为了使时钟适应不同地区的用户,开发者可能考虑了国际化的支持,使时钟可以显示不同格式的时间,比如12小时制和24小时制。 9. **代码组织**: 一个良好的Java Swing应用通常会遵循MVC(模型-视图-...
每个`.class`文件对应一个Java类,它们可能分别代表时钟主体(BillsClock)、小时、分钟和秒的手(HMS, SweepHand, HMHand),每个类封装了相应的功能。 通过这个项目,开发者可以学习到Java图形界面设计、多线程...
2. **时间输入与解析**:用户通过界面设定的小时和分钟会被转换成`Calendar`对象。可以使用`Calendar.getInstance()`获取当前时间,然后使用`Calendar.add()`方法设置闹钟时间。 3. **定时任务设置**:创建一个`...
它提供了获取小时、分钟、秒和纳秒的方法,以及调整时间的功能。 5. **`java.time.ZonedDateTime`** `ZonedDateTime`扩展了`LocalDateTime`,包含了时区信息。它可以表示如“2022年3月15日14:30:00 GMT+08:00”...
【基于Java的钟表(含代码和报告)】 在计算机编程中,实现一个基于Java的钟表模拟器是一项常见的练习,旨在帮助开发者掌握面向对象编程的概念,如类、对象、继承以及时间处理。这个项目的核心是创建一个可以显示...
本文将深入解析一个用Java编写的闹钟程序,该程序不仅包含了完整的代码实现,还提供了详细的说明文档,旨在帮助读者理解Java语言在时间管理和事件监听上的应用。程序的核心功能包括设置闹钟、取消闹钟以及停止闹钟,...