📄 sample23_8.java
字号:
package wyf.jc;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
//定义该类继承自JFrame
public class Sample23_8 extends JFrame implements ChangeListener
{
//创建JPanel容器
private JPanel jp=new JPanel();
//创建三个标签的标签数组
private JLabel[] jlArray=new JLabel[]
{new JLabel("年:"),new JLabel("月:"),new JLabel("日:")};
//创建标签
JLabel jlResult=new JLabel(" 您设定的日期为:2007年5月6日");
//创建ArrayList对象
private ArrayList al=new ArrayList();
//创建三个微调模型
private SpinnerNumberModel snm1=new SpinnerNumberModel(2007,2000,3000,1);
private SpinnerListModel slm=new SpinnerListModel();
private SpinnerNumberModel snm2=new SpinnerNumberModel(6,1,31,1);
//创建微调控件数组
private JSpinner[] js={new JSpinner(snm1),new JSpinner(slm),new JSpinner(snm2)};
public Sample23_8()
{
//设置JPanel容器的布局管理器
jp.setLayout(null);
//为ArrayList初始化元素
for(int i=1;i<=12;i++)
{
al.add(i+"月");
}
//将ArrayList设置为SpinnerListModel的模型
slm.setList(al);
//设置SpinnerListModel模型的当前值
slm.setValue("5月");
//对几个标签及微调控件进行处理
for(int i=0;i<js.length;i++)
{
//设置标签的大小位置,并添加进容器JPanel中
jlArray[i].setBounds(20+i*110,20,80,30);
jp.add(jlArray[i]);
//设置微调控件的大小位置,并添加进容器JPanel中
js[i].setBounds(50+i*120,20,60,26);
jp.add(js[i]);
//为三个微调控件注册了ChangeEvent事件监听器
js[i].addChangeListener(this);
}
//将JPanel容器添加进窗体
this.add(jp);
//将标签添加进窗体
this.add(jlResult,BorderLayout.SOUTH);
//设置窗体的标题、大小位置以及可见性
this.setTitle("微调控件示例");
this.setResizable(false);
this.setBounds(100,100,400,110);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//实现ChangeListener接口中的方法
public void stateChanged(ChangeEvent e)
{
//获取选择的年
int year=((Integer)(js[0].getValue())).intValue();
//获取选择的月
String month=(String)js[1].getValue();
//获取选择的日
int day=((Integer)(js[2].getValue())).intValue();
//更新结果显示标签的内容
jlResult.setText(" 您设定的日期为:"+year+"年"+month+day+"日");
}
public static void main(String[] args)
{
//创建Sample23_8窗体对象
new Sample23_8();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -