简体   繁体   English

Timer正在尝试转换为String

[英]Timer is trying to convert to String

Can someone please tell me why the Timer is trying to Convert an int into a String. 有人可以告诉我为什么Timer试图将int转换为String。 Here is the error that keeps coming up. 这是一直存在的错误。

CurrentTimePrinter.java:48: error: incompatible types: int cannot be converted to String time = new Timer(1000,listener); CurrentTimePrinter.java:48:错误:不兼容的类型:int无法转换为String time = new Timer(1000,listener);

CurrentTimePrinter.java:49: error: cannot find symbol time.start(); CurrentTimePrinter.java:49:错误:找不到符号time.start();

import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.util.Date;
import java.util.Timer;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.BorderLayout;

public class CurrentTimePrinter extends JFrame 
{
   private JButton Exitbutton;
   private JTextField textField;
   private static final int FIELD_WIDTH = 10;
   private static final int FRAME_WIDTH = 600;
   private static final int FRAME_HEIGHT = 400;
   private ActionListener listener;
   public Timer time;

   public CurrentTimePrinter()
   {
      //listener = new CtpListener();
      createComponents();
      setSize(FRAME_WIDTH, FRAME_HEIGHT);
   }
   public void createComponents()
   {
      Color orange = new Color(255,165,0);
      Font font = new Font("Times New Roman", Font.BOLD, 14);      
      textField = new JTextField(FIELD_WIDTH);
      Exitbutton = new JButton("EXIT");
      class CtpListener implements ActionListener
      {   
         public void actionPerformed(ActionEvent event)
         {
            textField.setText("" + new Date());
            Date now = new Date();
            System.out.println(now);
         }
      } 
      ActionListener listener = new CtpListener();
      time = new Timer(1000,listener);
      time.start();


      Exitbutton.setFont(font);
      Exitbutton.setForeground(Color.BLACK);
      ExitButtonListener exitListener = new ExitButtonListener();
      Exitbutton.addActionListener(exitListener);
      JPanel panel1 = new JPanel();
      time = new Timer(1000, listener); 
      time.start();

      JPanel panel2 = new JPanel();
      panel1.setBackground(orange);
      panel1.add(Exitbutton);
      panel2.add(textField);
      JPanel contentPane = new JPanel(new BorderLayout());
      contentPane.add(panel1, BorderLayout.SOUTH);
      contentPane.add(panel2, BorderLayout.CENTER);
      setContentPane(contentPane);
   }  
   class ExitButtonListener implements ActionListener
   {
      public void actionPerformed(ActionEvent event)
      {
         System.exit(0);
      }
   }            

   public static void main(String[] args)
   {     
      JFrame frame = new CurrentTimePrinter();
      frame.setTitle("Current Time");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
   }

}

You are using java.util.Timer . 您正在使用java.util.Timer You want javax.swing.Timer here. 你想要javax.swing.Timer

Replace that in the imports, it should be: 在导入中替换它,它应该是:

 import javax.swing.Timer;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM