大家好,欢迎来到IT知识分享网。
计时器(Timer)组件可以在指定时间间隔触发一个或多个 ActionEvent。设置计时器的过程包括创建一个 Timer 对象,在该对象上注册一个或多个动作侦听器,以及使用 start() 方法启动该计时器。
创建 Timer 类之后,可以单独更改初始延迟和事件间延迟,并且可以添加其他 ActionListener。如果希望计时器只在第一次时触发然后停止,可以对计时器调用 setRepeats(false)。
代码示例
package gui; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class RefreshPanel extends JPanel implements ActionListener { private int index = 1; // 使用的是swing包下得Timer,监听了actionPerformed事件。1秒调用一次 private Timer timer = new Timer(1000,this); public RefreshPanel(){ // 启动定时器 timer.start(); } @Override public void paint(Graphics g){ // 需要调用父类的paint方法,不然原来的内容不会清除 super.paint(g); g.setColor(Color.red); g.setFont(new Font("微软雅黑",Font.BOLD,50)); g.drawString(index+"",200,150); } public static void main(String[] args) { RefreshPanel refreshPanel = new RefreshPanel(); refreshPanel.display(); } private void display() { JFrame jFrame = new JFrame(); jFrame.setSize(500,400); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jFrame.setLocationRelativeTo(null); jFrame.setLayout(new FlowLayout()); jFrame.setContentPane(this); jFrame.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { index++; System.out.println(index); repaint(); } }
视频加载中…
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/109465.html