java Swing 时间选择器控件

本文介绍如何在Java Swing中实现一个时间选择器控件,包括一个名为HongYeLingGuDate的视图类和SelectHYDateAbstract抽象接口。需要导入特定的jar包,并提供了示例代码和测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图:
这里写图片描述这里写图片描述这里写图片描述

简要说明:
一个视图类: HongYeLingGuDate
一个抽象接口: SelectHYDateAbstract
需要导入的jar包: http://download.youkuaiyun.com/detail/male09/9884835
这里写图片描述

中的 flowlayout_v.jar 文件

示例代码:

HongYeLingGuDate类

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;

import com.changda.fingerservice.javaframe.VFlowLayout;

import hong.yelinggu.date.absinterface.SelectHYDateAbstract;

public class HongYeLingGuDate {
   

    private final JFrame frTime = new JFrame("请选择日期时间");

    private JPanel jPtimeWeek, jPtimeDay, year_form, ybJPanel, month_form, mbJPanel;

    private JButton btn_year_close, btn_month_close, btn_year_left, btn_year_right, btn_yes, btn_closed;

    private Box box;

    private JComboBox<String> jtf_H = null, jtf_m = null, jtf_s = null;

    private SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    private List<JButton> btnList = new ArrayList<>();

    private JButton yearStart, monthEnd;

    private String SelectNow_day = "01";

    private int yearPage = 1;// 年份的页码

    private final int yearGAP = 5;// 首页的年差

    private final int PAGE_MAIN = 0;

    private final int PAGE_YEAR = 1;

    private final int PAGE_MONTH = 2;

    private Calendar instance = Calendar.getInstance();

    private int now_year = 0;

    private int now_month = 0;

    private int now_day = 0;

    private int now_hous = 0;

    private int now_min = 0;

    private int now_ss = 0;

    private SelectHYDateAbstract HdateInterface;

    String returnDateFormat = null;

    /**
     * 实例化控件
     * 
     * @param returnDateFormat
     *            返回的时间格式
     */
    public HongYeLingGuDate(String returnFormat) {
        // TODO Auto-generated constructor stub
        returnDateFormat = returnFormat;
    }

    /**
     * 创建时间拾取器
     */
    public void creatDatePicker(SelectHYDateAbstract dateInterface) {
        // TODO Auto-generated method stub

        //判断如果时间控件是显示可见的就不执行了,防止多次执行
        if (frTime.isVisible()){
            return;
        }
        HdateInterface = dateInterface;
        Date dateTime = new java.util.Date();
        String StringTime = sdFormat.format(dateTime);
        instance.setTime(dateTime);
        String[] splDate = StringTime.split(" ");
        String dateAssemble = splDate[0];
        String timeAssemble = splDate[1];
        String[] splitItemDate = dateAssemble.split("-");// 日期
        String[] splitItemTime = timeAssemble.split(":");// 时间
        now_year = Integer.parseInt(splitItemDate[0]);
        now_month = Integer.parseInt(splitItemDate[1]);
        now_day = Integer.parseInt(splitItemDate[2]);

        now_hous = Integer.parseInt(splitItemTime[0]);
        now_min = Integer.parseInt(splitItemTime[1]);
        now_ss = Integer.parseInt(splitItemTime[2]);

        frTime.getContentPane().setLayout(new VFlowLayout());

        // 年,月,日选择入口区
        JPanel jPtim
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值