21xrx.com
2024-11-05 22:06:36 Tuesday
登录
文章检索 我的文章 写文章
如何在Java中给画布加上一个自动时间
2023-06-14 13:58:12 深夜i     --     --
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应用程序时有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复