import javax.swing.*;
import java.awt.*;
import java.awt.Font;
import java.util.*;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
public class Frame1 extends JFrame implements Runnable {
JTextField txt_time = new JTextField(30);
Thread t1 = null;
TitledBorder titledBorder1 = new TitledBorder("");
public Frame1() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(null);
txt_time.setBackground(UIManager.getColor(
"InternalFrame.inactiveTitleGradient"));
txt_time.setFont(new java.awt.Font("黑体", Font.BOLD, 20));
txt_time.setBorder(BorderFactory.createEtchedBorder());
txt_time.setText("jTextField1");
txt_time.setBounds(new Rectangle(9, 9, 316, 96));
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(350, 150);
this.setLocation((screen.width - 300) / 2, (screen.height) / 2);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
start();
this.setTitle("我的数字时钟");
txt_time.setEditable(false);
this.getContentPane().add(txt_time, null);
}
private void start() {
if (t1 == null) {
t1 = new Thread(this);
t1.start();
}
}
private void stop() {
if (t1 != null) {
t1.interrupt();
t1 = null;
}
}
public static void main(String[] args) {
Frame1 frame1 = new Frame1();
}
public void run() {
while (true) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int date = calendar.get(Calendar.DATE);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
calendar.set(calendar.HOUR, 24);
String monthStr;
String dateStr;
if (month < 10) {
monthStr = "0" + month;
} else {
monthStr = String.valueOf(month);
}
if (date < 10) {
dateStr = "0" + date;
} else {
dateStr = String.valueOf(date);
}
String hourStr;
if (hour < 10) {
hourStr = "0" + hour;
} else {
hourStr = String.valueOf(hour);
}
String minuteStr;
if (minute < 10) {
minuteStr = "0" + minute;
} else {
minuteStr = String.valueOf(minute);
}
String secondStr;
if (minute < 10) {
secondStr = "0" + second;
} else {
secondStr = String.valueOf(second);
}
txt_time.setText(String.valueOf(year) + "年" + monthStr + "月" +
dateStr +
"日 " + hourStr + ":" + minuteStr + ":" +
secondStr);
try {
t1.sleep(1000);
} catch (Exception e) {}
}
}
}