每天一點兒Java--ComboBox


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); } }



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM