兩種Swing下的日期控件 DatePicker 和JXDatePicker
swing沒有自帶的日期控件什猖,需要第三方的類
步驟 1 : DatePicker
本例使用 Datepicker.jar 包牧愁,有一個缺點素邪,不能設(shè)置時間,只能在創(chuàng)建控件的時候傳入指定日期猪半。
需要設(shè)置日期兔朦,請使用JXDatePicker
DatePicker
package gui;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import java.util.Locale;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import com.eltima.components.ui.DatePicker;
public class TestGUI {
public static void main(String[] args) {
JFrame f = new JFrame("LoL");
f.setSize(400, 300);
f.setLocation(200, 200);
f.setLayout(null);
final DatePicker datepick;
datepick = getDatePicker();
f.add(datepick);
JButton b = new JButton("獲取時間");
b.setBounds(137, 183, 100, 30);
f.add(b);
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(f, "獲取控件中的日期:" + datepick.getValue());
System.out.println(datepick.getValue());
}
});
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
private static DatePicker getDatePicker() {
final DatePicker datepick;
// 格式
String DefaultFormat = "yyyy-MM-dd HH:mm:ss";
// 當前時間
Date date = new Date();
// 字體
Font font = new Font("Times New Roman", Font.BOLD, 14);
Dimension dimension = new Dimension(177, 24);
int[] hilightDays = { 1, 3, 5, 7 };
int[] disabledDays = { 4, 6, 5, 9 };
datepick = new DatePicker(date, DefaultFormat, font, dimension);
datepick.setLocation(137, 83);
datepick.setBounds(137, 83, 177, 24);
// 設(shè)置一個月份中需要高亮顯示的日子
datepick.setHightlightdays(hilightDays, Color.red);
// 設(shè)置一個月份中不需要的日子偷线,呈灰色顯示
datepick.setDisableddays(disabledDays);
// 設(shè)置國家
datepick.setLocale(Locale.CHINA);
// 設(shè)置時鐘面板可見
datepick.setTimePanleVisible(true);
return datepick;
}
}
步驟 2 : JXDatePicker
本例使用 swingx-core-1.6.2.jar 包,界面比較簡約烘绽,可以設(shè)置日期
JXDatePicker
package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import org.jdesktop.swingx.JXDatePicker;
public class TestGUI {
public static void main(String[] args) {
JFrame f = new JFrame("LoL");
f.setSize(400, 300);
f.setLocation(200, 200);
f.setLayout(null);
Date date = new Date();
final JXDatePicker datepick = new JXDatePicker();
// 設(shè)置 date日期
datepick.setDate(date);
datepick.setBounds(137, 83, 177, 24);
f.add(datepick);
JButton b = new JButton("獲取時間");
b.setBounds(137, 183, 100, 30);
f.add(b);
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 獲取 日期
Date d = datepick.getDate();
JOptionPane.showMessageDialog(f, "獲取控件中的日期 :" + d);
}
});
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}