Java 如何制作dateTime函数并使用每个JFrame?
我已经为日期时间编写了这个函数。现在我想在每个JFrame中使用。 我想在main(First.java)中为日期时间声明一个函数(方法),我想在另外几个JFrame中调用该方法(如JFrame1.java、Jframe2.java……)Java 如何制作dateTime函数并使用每个JFrame?,java,swing,awt,Java,Swing,Awt,我已经为日期时间编写了这个函数。现在我想在每个JFrame中使用。 我想在main(First.java)中为日期时间声明一个函数(方法),我想在另外几个JFrame中调用该方法(如JFrame1.java、Jframe2.java……) 我有两个JFrame(Jframe1.java和JFrame2.java) 我想用Jlabel在这两个JFrame中显示日期时间 您创建的类与GUI无关,不能在JFrame中使用。所以你需要做一些类似的事情: 创建一个“DateTimePanel”,其中包含
我有两个JFrame(Jframe1.java和JFrame2.java)
我想用Jlabel在这两个JFrame中显示日期时间 您创建的类与GUI无关,不能在JFrame中使用。所以你需要做一些类似的事情:
setText(…)
方法来设置要显示的字符串,而不是使用System.out.println(…)import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
public class TimerTime extends JPanel implements ActionListener
{
private JLabel timeLabel;
public TimerTime()
{
timeLabel = new JLabel( new Date().toString() );
add( timeLabel );
Timer timer = new Timer(1000, this);
timer.setInitialDelay(1);
timer.start();
}
@Override
public void actionPerformed(ActionEvent e)
{
//System.out.println(e.getSource());
timeLabel.setText( new Date().toString() );
}
private static void createAndShowUI()
{
JFrame frame = new JFrame("TimerTime");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add( new TimerTime() );
frame.setLocationByPlatform( true );
frame.pack();
frame.setVisible( true );
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}
我建议您也从阅读开始,了解创建GUI的基础知识。“现在我想在每个JFrame中使用。”请参阅(非常糟糕的做法)是的。但是请试着理解我的问题。我想在main(First.java)中声明日期时间的函数(方法),并在另外几个JFrame中调用该方法(如JFrame1.java、Jframe2.java……)
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
public class TimerTime extends JPanel implements ActionListener
{
private JLabel timeLabel;
public TimerTime()
{
timeLabel = new JLabel( new Date().toString() );
add( timeLabel );
Timer timer = new Timer(1000, this);
timer.setInitialDelay(1);
timer.start();
}
@Override
public void actionPerformed(ActionEvent e)
{
//System.out.println(e.getSource());
timeLabel.setText( new Date().toString() );
}
private static void createAndShowUI()
{
JFrame frame = new JFrame("TimerTime");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add( new TimerTime() );
frame.setLocationByPlatform( true );
frame.pack();
frame.setVisible( true );
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}