javaGUI界面实现动态时间显示——Swing中的计时器Timer

   在Java中要实现时间的动态显示有很多种方法。下面就介绍其中一种简单的方法给大家。

Swing中的计时器Timer,主要用到javax.swing.*包下的Timer类,该类可以周期的触发ActionEvent事件。

什么都不说,直接上代码:

	private Timer time;

        //时间显示
	private JLabel getTimelabel() {
		if (timelabel == null) {
			timelabel = new JLabel("");
			timelabel.setBounds(5, 65, 200, 20);
			timelabel.setFont(new Font("微软雅黑", Font.BOLD, 12));
			timelabel.setForeground(new Color(182, 229, 248));
			time = new Timer(1000,new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent arg0) {
					timelabel.setText(new SimpleDateFormat("yyyy年MM月dd日 EEEE hh:mm:ss").format(new Date()));
				}
			});
			time.start();
		}
		return timelabel;
	}

Timer可以通过start()方法来启动,stop()方法既是停止Timer。

时间代码:

timelabel.setText(new SimpleDateFormat("yyyy年MM月dd日 EEEE hh:mm:ss").format(new Date()));

时间动态显示的主要代码:

time = new Timer(1000,new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {
	timelabel.setText(new SimpleDateFormat("yyyy年MM月dd日 EEEE hh:mm:ss").format(new Date()));
    }
});
time.start();

最终在界面中的显示结果为:

  • 14
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
Java可以使用Swing或JavaFX来实现GUI页面跳转。 下面是一个使用Swing实现GUI页面跳转的示例代码: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class PageSwitchDemo extends JFrame implements ActionListener { private CardLayout cardLayout; private JPanel cardPanel; private JButton btnPage1, btnPage2; public PageSwitchDemo() { setTitle("页面跳转示例"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 200); // 创建卡片布局和卡片面板 cardLayout = new CardLayout(); cardPanel = new JPanel(cardLayout); // 创建两个页面 JPanel page1 = new JPanel(); JLabel lblPage1 = new JLabel("这是第一页"); page1.add(lblPage1); JPanel page2 = new JPanel(); JLabel lblPage2 = new JLabel("这是第二页"); page2.add(lblPage2); // 将页面添加到卡片面板 cardPanel.add(page1, "page1"); cardPanel.add(page2, "page2"); // 创建按钮 btnPage1 = new JButton("第一页"); btnPage2 = new JButton("第二页"); // 将按钮添加到窗口 JPanel buttonPanel = new JPanel(new FlowLayout()); buttonPanel.add(btnPage1); buttonPanel.add(btnPage2); // 添加事件监听器 btnPage1.addActionListener(this); btnPage2.addActionListener(this); // 将卡片面板和按钮面板添加到窗口 Container contentPane = getContentPane(); contentPane.add(cardPanel, BorderLayout.CENTER); contentPane.add(buttonPanel, BorderLayout.SOUTH); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btnPage1) { // 显示第一页 cardLayout.show(cardPanel, "page1"); } else if (e.getSource() == btnPage2) { // 显示第二页 cardLayout.show(cardPanel, "page2"); } } public static void main(String[] args) { PageSwitchDemo frame = new PageSwitchDemo(); frame.setVisible(true); } } ``` 在上面的示例代码,我们使用了CardLayout布局来实现页面跳转。首先创建了两个面板,然后将它们添加到一个CardLayout布局的面板。然后创建了两个按钮,点击按钮时,通过调用CardLayout的show方法来切换页面。最后将卡片面板和按钮面板添加到窗口

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值