哪位高人帮忙解释一下这段JAVA代码
importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassYearextendsBox...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Year extends Box implements ActionListener
{
int year;
JTextField showYear=null;
JButton 明年,去年;
CalendarPad 日历;
public Year(CalendarPad 日历)
{
super(BoxLayout.X_AXIS);
showYear=new JTextField(4);
showYear.setForeground(Color.blue);
showYear.setFont(new Font("TimesRomn",Font.BOLD,14));
this.日历=日历;
year=日历.getYear();
明年=new JButton("下年");
去年=new JButton("上年");
add(去年);
add(showYear);
add(明年);
showYear.addActionListener(this);
去年.addActionListener(this);
明年.addActionListener(this);
}
public void setYear(int year)
{
this.year=year;
showYear.setText(""+year);
}
public int getYear()
{
return year;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==去年)
{
year=year-1;
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
else if(e.getSource()==明年)
{
year=year+1;
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
else if(e.getSource()==showYear)
{
try
{
year=Integer.parseInt(showYear.getText());
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
catch(NumberFormatException ee)
{
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
}
}
}
最好每一句都给出解释,谢谢了 展开
import java.awt.*;
import java.awt.event.*;
public class Year extends Box implements ActionListener
{
int year;
JTextField showYear=null;
JButton 明年,去年;
CalendarPad 日历;
public Year(CalendarPad 日历)
{
super(BoxLayout.X_AXIS);
showYear=new JTextField(4);
showYear.setForeground(Color.blue);
showYear.setFont(new Font("TimesRomn",Font.BOLD,14));
this.日历=日历;
year=日历.getYear();
明年=new JButton("下年");
去年=new JButton("上年");
add(去年);
add(showYear);
add(明年);
showYear.addActionListener(this);
去年.addActionListener(this);
明年.addActionListener(this);
}
public void setYear(int year)
{
this.year=year;
showYear.setText(""+year);
}
public int getYear()
{
return year;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==去年)
{
year=year-1;
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
else if(e.getSource()==明年)
{
year=year+1;
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
else if(e.getSource()==showYear)
{
try
{
year=Integer.parseInt(showYear.getText());
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
catch(NumberFormatException ee)
{
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
}
}
}
最好每一句都给出解释,谢谢了 展开
展开全部
import javax.swing.*;
import java.awt.*;
import java.awt.event.*; //导入需要的包
public class Year extends Box implements ActionListener //定义year类,Box类是它的父类,并实现ActionListener(按钮按下之类的事件定义)接口
{
int year; //年份
JTextField showYear=null; //显示年份的输入框
JButton 明年,去年; //明年、去年两个按钮
CalendarPad 日历; //日历面板
public Year(CalendarPad 日历) //构造函数初始化
{
super(BoxLayout.X_AXIS); //初始化布局
showYear=new JTextField(4); //初始化输入框
showYear.setForeground(Color.blue); //设置背景颜色
showYear.setFont(new Font("TimesRomn",Font.BOLD,14)); //设置字体
this.日历=日历; //设置类的日历面板
year=日历.getYear(); //初始化变量为今年
明年=new JButton("下年"); //创建按钮,按钮上的字为“下年”
去年=new JButton("上年"); //同上
add(去年); //增加“去年”按钮为子控件
add(showYear); //增加输入框为子控件
add(明年); //同上
showYear.addActionListener(this); //侦听日历输入框的事件
去年.addActionListener(this); //侦听按钮事件
明年.addActionListener(this); //侦听按钮事件
}
public void setYear(int year) //设置年份
{
this.year=year; //改变变量
showYear.setText(""+year); //改变显示的字
}
public int getYear() //取得年份
{
return year;
}
public void actionPerformed(ActionEvent e) //实现接口中的方法,当执行一个事件时触发
{
if(e.getSource()==去年) //如果是“去年”按钮发出的事件
{
year=year-1; //当前年减1
showYear.setText(""+year); //改变字体(""+year)强转int成字符串
日历.setYear(year); //重设
日历.设置日历牌(year,日历.getMonth()); //重设
}
else if(e.getSource()==明年) //如果事件发出者是“明年”按钮
{
year=year+1; //同上
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
else if(e.getSource()==showYear) //如果是输入框发出的事件
{
try //捕捉错误
{
year=Integer.parseInt(showYear.getText());//取得输入的数字
showYear.setText(""+year); //重设一下
日历.setYear(year); //设置输入的数字给日历面板
日历.设置日历牌(year,日历.getMonth()); //重设数据
}
catch(NumberFormatException ee) //如果输入的不是数字错误
{
showYear.setText(""+year); //恢复为最后一次的数据
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
}
}
}
OVER,就是写的一个输入框输入数字设为日历的例子。
import java.awt.*;
import java.awt.event.*; //导入需要的包
public class Year extends Box implements ActionListener //定义year类,Box类是它的父类,并实现ActionListener(按钮按下之类的事件定义)接口
{
int year; //年份
JTextField showYear=null; //显示年份的输入框
JButton 明年,去年; //明年、去年两个按钮
CalendarPad 日历; //日历面板
public Year(CalendarPad 日历) //构造函数初始化
{
super(BoxLayout.X_AXIS); //初始化布局
showYear=new JTextField(4); //初始化输入框
showYear.setForeground(Color.blue); //设置背景颜色
showYear.setFont(new Font("TimesRomn",Font.BOLD,14)); //设置字体
this.日历=日历; //设置类的日历面板
year=日历.getYear(); //初始化变量为今年
明年=new JButton("下年"); //创建按钮,按钮上的字为“下年”
去年=new JButton("上年"); //同上
add(去年); //增加“去年”按钮为子控件
add(showYear); //增加输入框为子控件
add(明年); //同上
showYear.addActionListener(this); //侦听日历输入框的事件
去年.addActionListener(this); //侦听按钮事件
明年.addActionListener(this); //侦听按钮事件
}
public void setYear(int year) //设置年份
{
this.year=year; //改变变量
showYear.setText(""+year); //改变显示的字
}
public int getYear() //取得年份
{
return year;
}
public void actionPerformed(ActionEvent e) //实现接口中的方法,当执行一个事件时触发
{
if(e.getSource()==去年) //如果是“去年”按钮发出的事件
{
year=year-1; //当前年减1
showYear.setText(""+year); //改变字体(""+year)强转int成字符串
日历.setYear(year); //重设
日历.设置日历牌(year,日历.getMonth()); //重设
}
else if(e.getSource()==明年) //如果事件发出者是“明年”按钮
{
year=year+1; //同上
showYear.setText(""+year);
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
else if(e.getSource()==showYear) //如果是输入框发出的事件
{
try //捕捉错误
{
year=Integer.parseInt(showYear.getText());//取得输入的数字
showYear.setText(""+year); //重设一下
日历.setYear(year); //设置输入的数字给日历面板
日历.设置日历牌(year,日历.getMonth()); //重设数据
}
catch(NumberFormatException ee) //如果输入的不是数字错误
{
showYear.setText(""+year); //恢复为最后一次的数据
日历.setYear(year);
日历.设置日历牌(year,日历.getMonth());
}
}
}
}
OVER,就是写的一个输入框输入数字设为日历的例子。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询