java多线程编程第三版 java多线程编程实验报告
转载
浙江理工大学
《Java程序设计》
实验报告
20 19~20 20学年第 1学期
学 院 | 信息学院 |
班 级 | 计算机科学与技术18(3) |
姓 名 | 申屠志刚 |
学 号 | 2018329621200 |
任课教师 | 任祝 ( 第13周 周二 345节) |
计算机科学与技术专业
20 19 年 11 月
《Java程序设计》实 验 报 告(四)
实验名称:Java的多线程机制 | 实验地点:10-306 |
所使用的工具软件及环境: JDK1.7或1.8与Eclipse |
一、实验目的: 熟悉Java的JFrame,多线程机制。 |
二、实验内容: 内容:设计和编写一个带界面的时钟程序,应用多线程实现时钟的走动。 要求:本实验旨在通过实验,培养学生将JAVA 线程的相关知识点(包括JFrame,多线程)有机结合并加以综合应用。需: (1)建议是简单的数字时钟即可,例如 。表盘式时钟相对复杂,不做强制要求。 (2)贴出代码 (3)贴出运行结果 |
三、要求: (1)说明原理 JAVA Swing 多线程 (2)源代码 import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
public class ClockFrame extends JFrame{
JLabel lbClock=null;//创建一个标签
public ClockFrame(){
lbClock=new JLabel(getDate());
//实例化lbClock标签,其title为动态调用getDate方法
lbClock.setFont(new Font("黑体",Font.BOLD,50));
lbClock.setForeground(Color.red);
//设置标签字体以及标签中字的颜色
this.add(lbClock);
//将标签添加到窗体中
this.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if(e.getClickCount()==2){
System.exit(0);
}
}
});
//注册监听器,监听鼠标事件,mouseAdapter中的方法都已经封装,直接实现功能即可
this.setUndecorated(true);
//窗体无边框
this.pack();
//窗口大小自适应
this.setLocationRelativeTo(null);
//窗体居中
this.setVisible(true);
//窗体可见;
//创建并启动线程,使时间不断地显示在屏幕上
new Thread(new Runnable(){
//在创建Thread对象时直接使用一个匿名的Run那边了对象实现线程中的方法。
public void run() {
while(true){
//无限循环休眠1000ms
try{
Thread.sleep(1000);
}catch(InterruptedException e){
//扑捉发生在线程中的异常,当一个正在执行的线程被中断时就会出现这个异常,添加catch后当程序被双击停止时不会出现错误
e.printStackTrace();
}
lbClock.setText(getDate());
}
}
}).start();//启动Thread方法,这个Thread方法也是匿名的。
}
private String getDate() {
//这个方法属于java中常见的获取当前时间并格式化输出的例子
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//确定时间的格式
return df.format(new Date());
//new Date取当前系统时间,使用创建的格式实例格式化返回去到的时间。
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new ClockFrame();
}
}
(3)结果截图 四、实验收获与体会: 学会JAVA Swing编程 使用WindowsBuilder工具 掌握JAVA 多线程编程技术 |
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。