lz這個代碼有什么看不懂的 如果這個代碼看不懂的話 建議你從基礎(chǔ)的開始學(xué)習(xí)吧
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、重慶網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都履帶攪拌車等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致認(rèn)可!
首先可以看到extends JFrame implements ActionListener 關(guān)于ActionListener 接口和JFrame 類lz有必要去看看 加入api慢慢研究下吧
int x,y,x0,y0,r,h,olds_x,olds_y,oldm_x,oldm_y,oldh_x,oldh_y,ss,mm,hh,old_m,old_h,ang;
這些東西我也看不懂 因為你的代碼不完整
final double RAD=Math.PI/180; 這個應(yīng)該是算一個弧度吧
super("made by mcj and wdh"); 這句無意義 是父類的代碼
setDefaultCloseOperation(3);這個方法是什么??代碼不完整
setSize(300,300);設(shè)置窗體大小
setBackground(Color.white);設(shè)置背景色
setLocation(300,150); 定位
setResizable(false);不調(diào)整大小
setVisible(true);可見
后面的就沒有代碼了
import javax.swing.*;
import java.awt.*;
public class FrameTest extends JFrame{
/**
* @param args
*/
public FrameTest(){
super("本窗口只顯示5分鐘");
setSize(400,400);
setVisible(true);
}
public static void main(String[] args) throws Exception {
// TODO 自動生成方法存根
FrameTest frame = new FrameTest();
Thread.sleep(5000);//睡5000ms (即5秒)
frame.setVisible(false);//隱藏了.
// 以下那句是響應(yīng)關(guān)閉的,如果在期間不用到關(guān)窗口,不用這句也行的.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
System.exit(0);//退出整個運行,要記得哦,不然雖看不見窗口了,但實際上并沒有退出執(zhí)行呢.
}
}
使用 java.util.TimerTask 類,開啟一個線程。
創(chuàng)建一個 class MyClass extends TimerTask
實現(xiàn) run() 方法,其中打印出當(dāng)前時間。
然后在main方法中 new 一個 MyClass
然后:
Timer timer = new Timer();
TimerTask task = MyClass ;
timer.schedule(task, 0, 1*1000);
就會看到每秒打印一個時間了。
你是想實時更新狀態(tài)欄上的時間?
可以用定時器自動去更新
import javax.swing.*;
import java.awt.*;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Clock extends JFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Clock().setVisible(true);
}
});
}
private JLabel timeLabel;
public Clock() {
timeLabel = new JLabel(String.valueOf(new Date()), JLabel.CENTER);
this.getContentPane().add(timeLabel, BorderLayout.CENTER);
this.setBounds(0, 0, 300, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
new Timer("clock").schedule(new TimerTask() {
@Override
public void run() {
timeLabel.setText(String.valueOf(new Date()));
}
}, 0, 1000);
}
}
首先,給你看一個簡單的代碼例子先:
import java.util.*;
public class Test {
public static void main(String[] args) {
Date myDate = new Date();
Timer timer = new Timer();
timer.schedule(new MyTask(), myDate);
}
static class MyTask extends java.util.TimerTask {
public void run() {
System.out.println("________");
}
}
}
這段代碼的作用是:在當(dāng)前時間打印出“________”。
這里用到了Timer的schedule方法,該方法的使用有如下兩種情況:
schedule(TimerTask task, Date time)設(shè)定指定任務(wù)task在指定時間time執(zhí)行;
schedule(TimerTask task, long delay, long period)方法設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定延遲peroid的執(zhí)行。
scheduleAtFixedRate(TimerTask task, long delay, long period)方法設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定頻率peroid的執(zhí)行。
這里要注意一點:如果是用后面兩個方法的話,則要通過timer的cancel()方法結(jié)束其運行,否則會一直循環(huán)執(zhí)行下去。
那么,回到你的題目,只要將Date time參數(shù)改一下、將上面的run()方法的方法體改一下就行了。
記得給我分哦~~^_^
用 java的 swing做個圖形界面 然后顯示當(dāng)前的時間:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JTextField;
import javax.swing.Timer;
import javax.swing.JFrame;
public class NowTime extends JFrame
{
//添加 顯示時間的JTextField
private void addComponent(){
JTextField time = new JTextField();
this.getContentPane().add(time);
this.setTimer(time);
}
//顯示窗口
private void showTime(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.pack();//自動適應(yīng)窗口大小
this.setSize(160, 80);
this.setVisible(true);
}
//設(shè)置Timer 1000ms實現(xiàn)一次動作 實際是一個線程
private void setTimer(JTextField time){
final JTextField varTime = time;
Timer timeAction = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
long timemillis = System.currentTimeMillis();
//轉(zhuǎn)換日期顯示格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
varTime.setText(df.format(new Date(timemillis)));
}
});
timeAction.start();
}
//運行方法
public static void main(String[] args) {
NowTime timeFrame = new NowTime();
timeFrame.addComponent();
timeFrame.showTime();
}
}
網(wǎng)站名稱:帶時間窗JAVA代碼 java 時間窗口
本文鏈接:http://chinadenli.net/article0/doddcio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、Google、品牌網(wǎng)站建設(shè)、網(wǎng)站排名、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)