21xrx.com
2025-03-27 12:48:24 Thursday
文章检索 我的文章 写文章
如何在Java中给画布加上一个自动时间
2023-06-14 13:58:12 深夜i     11     0
Java 画布 自动时间

Java是一种常用的编程语言,在其GUI(图形用户界面)应用程序中,经常需要在画布中显示时间。本文将介绍如何在Java中给画布加上一个自动时间,并附上相应的代码实例。

首先,我们需要创建一个JPanel,并在其中重写paintComponent()方法。在该方法中,我们可以使用Java提供的Calendar类获取当前时间,并将其格式化为字符串后绘制在画布上。具体实现代码如下:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.swing.JPanel;
public class TimePanel extends JPanel {
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    Calendar now = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    String time = sdf.format(now.getTime());
    g.setColor(Color.BLACK);
    g.setFont(new Font("微软雅黑", Font.BOLD, 24));
    g.drawString(time, 10, 30);
  }
}

在以上代码中,我们首先获取当前时间,然后使用SimpleDateFormat类将其格式化为字符串。最后,我们将时间字符串绘制在画布上,显示位置为(10,30)。值得注意的是,我们在paintComponent()方法中调用了super.paintComponent(g),该方法用于保证画布的正确绘制。

接下来,我们需要将此JPanel添加至所需的GUI应用程序中。具体实现代码如下:

import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class TimeFrame extends JFrame {
  private TimePanel timePanel;
  public TimeFrame() {
    timePanel = new TimePanel();
    add(timePanel);
    setTitle("自动时间");
    setSize(300, 100);
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setVisible(true);
  }
  public static void main(String[] args) {
    new TimeFrame();
  }
}

在以上代码中,我们首先创建了一个TimePanel对象,并将其添加至TimeFrame中。我们还设置了应用程序窗口的标题、尺寸、关闭动作和位置,并将其设为可见。在运行该程序后,将会出现一个显示当前时间的窗口。

本文介绍了如何在Java中给画布加上一个自动时间,并给出了相应的代码实例。希望本文对大家在编写Java GUI应用程序时有所帮助。

  
  

评论区