【Java开源代码栏目提醒】:网学会员鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“ComboBoxAction.java”一文,供大家参考学习
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.text.*;
import java.applet.*;
public class ComboBoxAction extends Applet implements Runnable {
Label clocktime, status; // 分别代表显示时间的标签和状态栏标签
JPanel panel;
JComboBox style; // 存储时间显示格式的下拉列表
String now; // 当前时间
String[] styleitem = { // 时间显示的各种格式
"H:mm:ss",
"h:mm:ss a",
"K:mm:ss a,z",
"MM/dd/yyyy h:mm:ss",
"MMMMM dd, yyyy",
"EEE, MMM d,' 'yyyy",
"GGG yyyy年 MM月dd日 h:mm:ss",
};
Thread clocktimer;
boolean running;
public void init() {
resize(350,200); // 设置Applet大小
clocktime = new Label();
panel = new JPanel();
style = new JComboBox(styleitem); // 添加下拉列表项
style.setEditable(false); // 下拉列表项不可编辑
style.setMaximumRowCount(3); // 最大显示行数为3
// 为下拉列表注册事件监听器
style.addItemListener(new ComboBoxHandler());
clocktime.setFont(new Font(null, Font.BOLD,15));
clocktime.setAlignment(Label.CENTER);
status = new Label("请选择时间显示格式!");
status.setBackground(Color.LIGHT_GRAY); // 设置状态栏背景色
// 添加面板元素,布局
this.add(panel);
panel.add(style);
setLayout(new BorderLayout());
add(style, BorderLayout.NORTH);
add(clocktime, BorderLayout.CENTER);
add(status, BorderLayout.SOUTH);
// 获取初始时间
now = styleitem[0];
showtime();
}
public void start() {
running = true;
if(clocktimer == null) {
clocktimer = new Thread(this);
clocktimer.start();
}
}
public void run() {
while(running) {
showtime();
try { // 延迟1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
clocktimer = null;
}
public void stop() {
running = false;
}
public void destroy() {
System.out.println("程序已结束。");
}
// 下拉列表的事件监听器
private class ComboBoxHandler implements ItemListener {
// 下拉列表项的状态事件
public void itemStateChanged(ItemEvent event) {
// 判断是否发生选中某项的事件
if(event.getStateChange() == event.SELECTED) {
int selectNum = style.getSelectedIndex(); // 获取第几项被选
now = styleitem[selectNum]; // 获取对应的选择项
showtime(); // 根据所选格式更新当前时间
status.setText("你选择的时间格式为:" + now);
}
}
}
// 显示时间
public void showtime() {
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(now);
try {
String date = sdf.format(today);
clocktime.setText(date); // 显示当前时间
} catch (IllegalArgumentException e) {
status.setForeground(Color.red);
status.setText("Error: " + e.getMessage());
}
}
}
上一篇:
Combo1.java
下一篇:
基于web二手汽车交易管理系统(含录像)