日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单的计时器实现(JFrame)

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单的计时器实现(JFrame) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計時器

問題描述

設計一個圖形用戶界面的計時器。該計時器顯示計時的時間,并有三個按鈕:START,表示開始計時;STOP,停止計時;RESET,重置時間。

代碼:import java.awt.*; import java.awt.event.*;import javax.swing.*;public class Main extends JFrame { JButton jbtStart, jbtStop, jbtReset; int hour = 0, minute = 0, second = 0; String time = "0"+hour + ":0" + minute + ":0" + second; Font font = new Font("TimesRoman", Font.BOLD, 40); TimePanel timePanel; Timer timer;public Main() { timePanel = new TimePanel(); jbtStart = new JButton("Start"); jbtStop = new JButton("Stop"); jbtReset = new JButton("Reset"); jbtStart.addActionListener(new ActionListener() {@Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub timer.start(); }}); jbtStop.addActionListener(new ActionListener() {@Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub timer.stop(); }}); jbtReset.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub hour = 0; minute = 0; second = -1; timer.restart(); }}); JPanel p1 = new JPanel();p1.add(jbtStart); p1.add(jbtStop); p1.add(jbtReset);this.add(p1, BorderLayout.SOUTH); this.add(timePanel, BorderLayout.CENTER); }class TimePanel extends JPanel { TimePanel() { timer = new Timer(100, new ActionListener() {@Override public void actionPerformed(ActionEvent arg0) { second++; if (second > 59) { second = 0; minute++; } if (minute > 59) { minute = 0; hour++; } if(second< 10 && hour>=10 && minute>=10) time = hour + ":" + minute + ":0" + second; else if(second>= 10 && hour<10 && minute>=10) time = "0"+hour + ":" + minute + ":" + second; else if(second>= 10 && hour>=10 && minute<10) time = +hour + ":0" + minute + ":" + second; else if(second< 10 && hour<10 && minute<10) time = "0"+hour + ":0" + minute + ":0" + second; else if(second< 10 && hour<10 && minute>=10) time = "0"+hour + ":" + minute + ":0" + second; else if(second>= 10 && hour<10 && minute<10) time = "0"+hour + ":0" + minute + ":" + second; else if(second< 10 && hour>=10 && minute<10) time = hour + ":0" + minute + ":0" + second; else time = hour + ":" + minute + ":" + second; // TODO Auto-generated method stub repaint(); }}); }protected void paintComponent(Graphics g) { super.paintComponent(g);g.setFont(font); int stringWidth = g.getFontMetrics().stringWidth(time); int xCoordinate = getWidth() / 2 - stringWidth / 2; int yCoordinate = getHeight() / 2 + stringWidth / 4; g.drawString(time, xCoordinate, yCoordinate); } }public static void main(String[] args) { JFrame frame = new Main(); frame.setTitle("Timer"); frame.setSize(400, 200); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }}

轉載于:https://www.cnblogs.com/qusay/p/4170265.html

總結

以上是生活随笔為你收集整理的简单的计时器实现(JFrame)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。