帮忙解释一下这段代码 谢谢各位了 要详细点的哈 我是新手 不太懂哦 5

//Javacorepackagesimportjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;impor... // Java core packages
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;

// Java extension packages
import javax.swing.*;
import javax.swing.BorderFactory;
import javax.swing.event.*;

public class Clock extends JFrame implements Runnable {

private Calendar calendar;
private int year, month, day, hour, minute, second;
private JSpinner spinner;
private Thread thread;

public Clock()
{
super( "时钟" );

Container container = getContentPane();
container.setLayout( new BorderLayout() );

JPanel panel = new JPanel();
panel.setBorder( BorderFactory.createTitledBorder( "时间" ) );

SpinnerDateModel model = new SpinnerDateModel();
model.setCalendarField( Calendar.HOUR_OF_DAY );
spinner = new JSpinner( model );
JSpinner.DateEditor editor = new JSpinner.DateEditor( spinner,
"hh:mm:ss" );
editor.getTextField().addMouseListener(

new MouseAdapter() {

public void mouseClicked( MouseEvent e )
{
thread = null;
}
}
);
spinner.setEditor( editor );
model.addChangeListener(

new ChangeListener() {

public void stateChanged( ChangeEvent e )
{
SpinnerDateModel source = ( SpinnerDateModel )e.getSource();
calendar.setTime( source.getDate() );
year = calendar.get( Calendar.YEAR );
month = calendar.get( Calendar.MONTH );
day = calendar.get( Calendar.DAY_OF_MONTH );
hour = calendar.get( Calendar.HOUR_OF_DAY );
minute = calendar.get( Calendar.MINUTE );
second = calendar.get( Calendar.SECOND );
GregorianCalendar gCalendar = new GregorianCalendar( year,
month, day, hour, minute, second );
spinner.setValue( gCalendar.getTime() );

repaint();
}
}
);

container.add( panel, BorderLayout.CENTER );
container.add( spinner, BorderLayout.SOUTH );

setSize( 250, 280 );
setVisible( true );
setResizable( false );

thread = new Thread( this );
thread.start();
}
展开
 我来答
lll333vvv
2006-12-29 · TA获得超过110个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:0
展开全部
我也是新手哦
中间大部分代码都是关于图形界面的布局设计的,只有stateChanged( ChangeEvent e ) 函数是动态改变所显示的时间的,好像使用线程实现的。
zhuxulong19953
2007-01-06
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
fvdxvzdvdvdf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式