【发布时间】:2016-07-15 12:26:03
【问题描述】:
您好,我想创建一个线程来显示时钟,但是使用此代码我只能在设置输入闹钟后让时钟运行,尽管闹钟也没有工作。想让闹钟和时钟分开
这是时钟(正在工作)
public class ClockAlarm extends Thread{
private String txt;
private JLabel Clock;
ClockAlarm(JLabel lbl) {
this.Clock = lbl;
}
ClockAlarm(){
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public void run()
{
while(true)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Date date = new Date();
String s = sdf.format(date);
Thread.sleep(1000);
Clock.setText(s);
}
catch(Exception e){}
}
}
}
这是 GUI,当它与时钟相等时,我不知道在哪里放置警报验证,我不知道在哪里放置 myThread.start 或在其运行时可以启动它的程序
public class GUI extends javax.swing.JFrame {
ClockAlarm myThread1;
String Alarm;
/**
* Creates new form GUI
*/
public GUI() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jButton1.getText().equalsIgnoreCase("Set Alarm (hh:mm:ss)")){
Alarm = jTextField1.getText();
}
myThread1 = new ClockAlarm(jLabel1);
myThread1.start();
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
【问题讨论】:
标签: java multithreading user-interface clock alarm