jtimefield.java

来自「java实现的时间选择控件」· Java 代码 · 共 62 行

JAVA
62
字号
package client.util;

import java.io.*;
import java.text.*;
import java.util.*;

import java.awt.*;
import javax.swing.*;

public class JTimeField
    extends JTextField {
  /**
   * 年月日格式
   */
  public static final SimpleDateFormat dateFormat
      = new SimpleDateFormat("HH:mm:ss");

  private JTimeDocument doc = new JTimeDocument(this, dateFormat);
  public JTimeField() {
    setPreferredSize(new Dimension(100, 25));
    setDocument(doc);
    super.setHorizontalAlignment(JTextField.CENTER);
  }

  /**
   * 取得日期
   * @return Date
   */
  public Date getDate() {
    try {
      return dateFormat.parse(this.getText());
    }
    catch (Exception ex) {
      return new Date();
    }
  }

  /**
   * 设置日期
   * @return Date
   */
  public void setDate(Date date) {
    try {
      dateFormat.format(date);
    }
    catch (Exception ex) {
      dateFormat.format(new Date());
    }
  }

  /**
   * 测试
   * @param args String[]
   */
  public static void main(String[] args) {
    JFrame frame = OpenSwingUtil.createDemoFrame("JDateField Demo");
    frame.getContentPane().setLayout(new FlowLayout());
    frame.getContentPane().add(new JTimeField(), BorderLayout.CENTER);
    frame.setVisible(true);
  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?