import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.text.SimpleDateFormat;
/**
* <p>Title: ComboBox下拉域演示</p>
* <p>Description: 通过选择或这输入一种日期格式来格式化今天的日期</p>
* <p>Copyright: Copyright (c) 2014</p>
* <p>Filename: ComboBoxDemo.java</p>
* @author 王海涛
* @version 0.1
*/ public class ComboBoxDemo extends JPanel
implements ActionListener {
static JFrame frame;
JLabel result;
String currentPattern;
/**
*<br>方法说明:构造器。 初始化窗口构件
*<br>输入參数:
*<br>返回类型:
*/
public ComboBoxDemo() {
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
String[] patternExamples = {
"dd MMMMM yyyy",
"dd.MM.yy",
"MM/dd/yy",
"yyyy.MM.dd G 'at' hh:mm:ss z",
"EEE, MMM d, ''yy",
"h:mm a",
"H:mm:ss:SSS",
"K:mm a,z",
"yyyy.MMMMM.dd GGG hh:mm aaa"
}; currentPattern = patternExamples[0]; //设置一个规范的用户界面
JLabel patternLabel2 = new JLabel("从下拉列表中选择一种:");
JComboBox patternList = new JComboBox(patternExamples);
patternList.addActionListener(this);//patternList的监视器是这个面板
patternList.setForeground(Color.yellow); //创建一个显示结果用户界面
JLabel resultLabel = new JLabel("当前 日期/时间",
JLabel.LEADING);//相当于LEFT
result = new JLabel();
result.setForeground(Color.black);
result.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.cyan),
BorderFactory.createEmptyBorder(7,7,7,7)
)); //布置构件
JPanel patternPanel = new JPanel();
patternPanel.setLayout(new BoxLayout(patternPanel,
BoxLayout.PAGE_AXIS));
patternPanel.add(patternLabel2);
patternList.setAlignmentX(Component.LEFT_ALIGNMENT);
patternPanel.add(patternList); JPanel resultPanel = new JPanel(new GridLayout(2, 1));//新建一个网格视图的面板
resultPanel.add(resultLabel);
resultPanel.add(result); patternPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
resultPanel.setAlignmentX(Component.LEFT_ALIGNMENT); add(patternPanel);
add(Box.createRigidArea(new Dimension(0, 10)));
add(resultPanel); setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); reformat();
}
/**
*<br>方法说明:事件处理
*<br>输入參数:
*<br>返回类型:
*/
public void actionPerformed(ActionEvent e) { //patternList监视器
JComboBox cb = (JComboBox)e.getSource();
String newSelection = (String)cb.getSelectedItem();
currentPattern = newSelection;
reformat();
}
/**
*<br>方法说明:格式和显示今天的日期
*<br>输入參数:
*<br>返回类型:
*/
public void reformat() {
Date today = new Date();
SimpleDateFormat formatter =
new SimpleDateFormat(currentPattern);
try {
String dateString = formatter.format(today);
result.setForeground(Color.red);
result.setText(dateString);
} catch (IllegalArgumentException iae) {
result.setForeground(Color.red);
result.setText("Error: " + iae.getMessage());
}
}
/**
*<br>方法说明:主方法
*<br>输入參数:
*<br>返回类型:
*/
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true); //创建一个窗口
frame = new JFrame("ComboBox");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //创建一个面版容器
JComponent newContentPane = new ComboBoxDemo();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
frame.setForeground(Color.cyan); //显示窗口
frame.pack();
frame.setVisible(true);
}
}

最新文章

  1. 微信公共平台开发4 .net
  2. jetty使用教程(嵌入eclipse开发)
  3. 泛型之Dictionary
  4. Nginx 启用gzip压缩
  5. Delphi XE5 android 获取电池电量
  6. [置顶] ORACLE分析函数(1)
  7. Python随机生成验证码的两种方法
  8. xls与csv文件区别?
  9. cc2530串口通信流程
  10. Java Web开发 - 持久型/存储型XSS漏洞
  11. JavaScript 版数据结构与算法(二)队列
  12. Flask自带的常用组件介绍
  13. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&amp;arch=x86_64&amp;repo=os&amp;infra=stock32 error was 14: curl#6 - &quot;Could not resolve host: mirrorlist.centos.org; Unknown error&quot;
  14. linux环境下安装使用selenium Chrome
  15. 【转载】AutoML--超参数调优之Bayesian Optimization
  16. Cloudera Manager的安装
  17. rpm打包tomcat
  18. rsync 故障排查整理
  19. 分类-MNIST(手写数字识别)
  20. JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建

热门文章

  1. 你需要来自system的权限才能对此文件夹进行更
  2. IDC 知识库
  3. Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
  4. JS禁止后退键(backspace)使浏览器后退
  5. python之模块csv之 读取CSV文件(reader和DictReader2个方法)
  6. MySQL存储过程中的3种循环【转载】
  7. 数据挖掘之权重计算(PageRank)
  8. delphi實現按键精靈的功能
  9. HDUOJ---(1995)汉诺塔V
  10. HDUOJ----John