想要在标签中显示日期

时间:2011-10-25 16:18:45

标签: java swing

你可以帮我解决这些代码,我试图在标签中显示当前日期,但我正在使用3个不同的类,即主类(AppStart),我在广告中创建标签的类将在框架中显示标签,从而显示(Swing1),然后显示自己的日期类(DateLabel)。代码如下所示:

public DateLabel()
{
    Date today = new Date();

    //Date format
    DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
    String strDate = df.format(today);
     setText( strDate);


}
}

import java.awt.*;//used for Gui Developement
import java.util.*;
import java.text.*;
import javax.swing.*;//Used for GUI development

public class Swing1 extends JFrame
{

JLabel lblWelcome;
DateLabel myDate;
Swing1()
{
    JFrame myJF = new JFrame();
    myJF.setTitle("CBT Tutorial");

    //JLabel Stuff
    myDate = new DateLabel();

    Container c = getContentPane();
    c.add(myDate, BorderLayout.NORTH);


    myJF.setSize(300,300);
    myJF.show();

}

}


public class AppStart {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) 
{
   new Swing1();
}
}

3 个答案:

答案 0 :(得分:2)

对于使用netbeans可视化构建器的任何人,我发现了一种更快的方法。

public classname{
    Initcomponents();
    String date= new Date.toString();
    Yourlabelname.setText(date)}
   }

希望它有助于陷入困境!: - )

答案 1 :(得分:1)

DateLabel必须延长JLabel,否则setText将无效,只需将自定义标签添加到Container

答案 2 :(得分:1)

无需在Swing1构造函数中创建新的JFrame。 Swing1扩展了JFrame,只在Swing1实例上做getContentPane().add(myDate, BorderLayout.NORTH);。确保将super()作为构造函数中的第一个语句,可能使用合适的参数集(例如,如果您需要双缓冲等)。