now = Calendar.getInstance(); final Calendar yestoday = Calendar.getInstance();
yestoday.set(Calendar.HOUR_OF_DAY, now.get(Calendar.HOUR_OF_DAY)-23); final Calendar tomorrow = Calendar.getInstance();
tomorrow.set(Calendar.HOUR_OF_DAY, now.get(Calendar.HOUR_OF_DAY)+23); final SpinnerDateModel model=new SpinnerDateModel(
now.getTime(),
yestoday.getTime(),
tomorrow.getTime(),
Calendar.DAY_OF_MONTH);
//model building end
JSpinner spinner = new JSpinner(model); final String foramtPattern = "yyyy-MM-dd HH:mm:ss "; //在这里设置你的格式
final JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner,foramtPattern);
spinner.setEditor(editor);
我上面已经可以显示系统时间 但是不会随系统时间改变怎么样才能实现系统时间的改变?
yestoday.set(Calendar.HOUR_OF_DAY, now.get(Calendar.HOUR_OF_DAY)-23); final Calendar tomorrow = Calendar.getInstance();
tomorrow.set(Calendar.HOUR_OF_DAY, now.get(Calendar.HOUR_OF_DAY)+23); final SpinnerDateModel model=new SpinnerDateModel(
now.getTime(),
yestoday.getTime(),
tomorrow.getTime(),
Calendar.DAY_OF_MONTH);
//model building end
JSpinner spinner = new JSpinner(model); final String foramtPattern = "yyyy-MM-dd HH:mm:ss "; //在这里设置你的格式
final JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner,foramtPattern);
spinner.setEditor(editor);
我上面已经可以显示系统时间 但是不会随系统时间改变怎么样才能实现系统时间的改变?
import java.awt.*;
import java.util.*;
import java.text.*; public class tt extends JFrame {
private JLabel tipLabel; private JTextField timeText; private Container container; public tt() {
container = getContentPane();
container.setLayout(new FlowLayout());
tipLabel = new JLabel("当前时间:");
timeText = new JTextField(25);
timeText.setEditable(false);
container.add(tipLabel);
container.add(timeText);
Thread thread = new Display(timeText);
thread.start();
pack();// 自动调整窗体大小
setVisible(true);
setSize(250, 100);
} public static void main(String[] args) {
tt newTime = new tt();
newTime.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} class Display extends Thread {
private JTextField timeField; Display(JTextField field) {
timeField = field;
} DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.CHINA);
{
df.setTimeZone(TimeZone.getTimeZone("GMT+8"));
} public void run() {
while (true) {
Date date = new Date();
timeField.setText(df.format(date));
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}