单时间组件
import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.util.Date; import java.util.Locale; import javax.swing.JPanel; import com.eltima.components.ui.DatePicker; /** * 时间选择框输入框 * * @author luojialin * @since 2014-3-14 */ public class SFDatePicker extends JPanel { private static final long serialVersionUID = 3385428174172494736L; /*日期显示格式*/ public static final String YYYY_MM_DD = "yyyy-MM-dd"; /*日期时间格式*/ public static final String YYY_MM_DD_HH_MM_SS = "yyyy-MM-dd hh:mm:ss"; private static Font font=new Font("Times New Roman", Font.PLAIN, 14); private static Dimension dimension=new Dimension(100,24); private DatePicker startDatepick; public SFDatePicker() { this(YYY_MM_DD_HH_MM_SS); } public SFDatePicker(String formate) { super(); this.setOpaque(false); startDatepick = new DatePicker(new Date(),formate,font,dimension); startDatepick.setLocale(Locale.CHINA);//设置国家 startDatepick.setTimePanleVisible(true);//设置时钟面板可见 startDatepick.setBorder(null); this.setLayout(new FlowLayout(FlowLayout.LEFT)); this.add(startDatepick); } /** * 设置是否可以使用 * @param flag */ public void setEnable(boolean flag){ this.setEnabled(flag); } /** * 获取控件时间 * @return */ public Date getDate(){ return (Date)startDatepick.getValue(); } /** * 设置控件时间 * @param date */ public void setDate(Date date){ startDatepick.a(date); } /** * 设置 日期时间 显示样式 * @param formate * 格式:YYYY_MM_DD</P> * YYY_MM_DD_HH_MM_SS</P> */ public void setFormat(String format){ Date date = new Date(); if(SFDatePicker.YYYY_MM_DD.equals(format)){ format = YYYY_MM_DD; startDatepick = new DatePicker(date,format,font,dimension); startDatepick = new DatePicker(date,format,font,dimension); startDatepick.setTimePanleVisible(false); }else if(SFDatePicker.YYY_MM_DD_HH_MM_SS.equals(format)){ format = YYY_MM_DD_HH_MM_SS; startDatepick = new DatePicker(date,format,font,dimension); startDatepick = new DatePicker(date,format,font,dimension); startDatepick.setTimePanleVisible(true); } } public void clearDatePicker(){ startDatepick.getInnerTextField().setText(""); } }
双时间组件
import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Locale; import javax.swing.JLabel; import com.eltima.components.ui.DatePicker; import com.sf.framework.i18n.Messages; import com.sf.module.pcss.core.message.MessageManager; /** * 双时间选择框输入框 * * @author luojialin * @since 2014-2-21 */ public class DoubleDatePicker extends javax.swing.JPanel { private static final long serialVersionUID = 3385428174172494736L; /*日期显示格式*/ public static final String YYYY_MM_DD = "yyyy-MM-dd"; /*日期时间格式*/ public static final String YYY_MM_DD_HH_MM_SS = "yyyy-MM-dd hh:mm:ss"; private static Font font=new Font("Times New Roman", Font.PLAIN, 14); private static Dimension dimension=new Dimension(100,24); /** *开始时间 */ private DatePicker startDatepick; /** * 结束时间 */ private DatePicker endDatepick; private JLabel betwenLbl; private JLabel redStartLbl; /**红星**/ public boolean redStart = false; public DoubleDatePicker() { this(null,false); } /** * 双时间组件</P> * 支持日期格式 :"yyyy-MM-dd" * 支持日期时间格式:"yyyy-MM-dd hh:mm:ss" * @param title 两个时间之间的 文字 */ public DoubleDatePicker(String title) { this(title, false); } /** * 双时间组件</P> * 支持日期格式 :"yyyy-MM-dd" * 支持日期时间格式:"yyyy-MM-dd hh:mm:ss" * * @param title 两个时间之间的 文字 * @param redStart 是否显示 * 号 */ public DoubleDatePicker(String title, boolean redStart) { super(); initGUI(title,null, redStart); } /** * 双时间组件</P> * 支持日期格式 :"yyyy-MM-dd" * 支持日期时间格式:"yyyy-MM-dd hh:mm:ss" * * @param title 两个时间之间的 文字 * @param formate 显示 格式 */ public DoubleDatePicker(String title, String formate) { super(); initGUI(title,formate, false); } private void initGUI(String title, String formate, boolean redStart){ this.setOpaque(false); betwenLbl = new JLabel(title); startDatepick = new DatePicker(new Date(),formate,font,dimension); endDatepick = new DatePicker(new Date(),formate,font,dimension); if(redStart) redStartLbl = new JLabel("<html><font color = red>* </font></html>"); else redStartLbl = new JLabel(); startDatepick.setLocale(Locale.CHINA);//设置国家 startDatepick.setTimePanleVisible(true);//设置时钟面板可见 startDatepick.setBorder(null); endDatepick.setLocale(Locale.CHINA);//设置国家 endDatepick.setTimePanleVisible(true);//设置时钟面板可见 endDatepick.setBorder(null); startDatepick.setPreferredSize(dimension); endDatepick.setPreferredSize(dimension); this.setLayout(new FlowLayout(FlowLayout.LEFT)); this.add(startDatepick); this.add(betwenLbl); this.add(endDatepick); this.add(redStartLbl); this.startDatepick.getInnerTextField().addFocusListener(new FocusListener(){ @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { if("".equals(startDatepick.getText().trim())){ startDatepick.getInnerTextField().setValue(null); }else{ verify(); } } }); this.endDatepick.getInnerTextField().addFocusListener(new FocusListener(){ @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { if("".equals(endDatepick.getText().trim())){ endDatepick.getInnerTextField().setValue(null); }else{ verify(); } } }); //this.setPreferredSize(new Dimension(600, 30)); } private void verify(){ Date start = (Date)startDatepick.getValue(); Date end = (Date)endDatepick.getValue(); if(start != null && end != null){ if(start.after(end)){ MessageManager.getInstance().error("",Messages.getString("time.setting.error")); endDatepick.getInnerTextField().setValue(null); } } } /** * 设置是否可以使用 * @param flag */ public void setEnable(boolean flag){ this.startDatepick.setEnabled(flag); this.endDatepick.setEnabled(flag); } /** * 获取时间</P> * * 返回List 格式的 Date 数组 * @return */ public List<Date> getDate(){ Date start = (Date)this.startDatepick.getValue(); Date end = (Date)this.endDatepick.getValue(); List<Date> list = new ArrayList<Date>(); list.add(start); list.add(end); return list; } /** * 获取第一个控件时间 * @return */ public Date getFirstDate(){ return (Date)this.startDatepick.getValue(); } /** * 获取第二个控件时间 * @return */ public Date getSecondDate(){ return (Date)this.endDatepick.getValue(); } /** * 设置第一个控件时间 * @param date */ public void setFirstDate(Date date){ startDatepick.a(date); } /** * 设置第二个控件时间 * @param date */ public void setSecondDate(Date date){ endDatepick.a(date); } public void setDate(List<Date> list){ if(list.get(0) != null && list != null) startDatepick.a(list.get(0)); if(list.get(1) != null && list != null) endDatepick.a(list.get(1)); } public boolean isRedStart() { return redStart; } /** * 设置红星 * @param redStart */ public void setRedStart(boolean redStart) { if(redStart){ redStartLbl.setText("<html><font color = red>* </font></html>"); redStart = true; }else{ redStartLbl.setText(""); redStart = false; } } /** * 设置 日期时间 显示样式 * @param formate * 格式:YYYY_MM_DD</P> * YYY_MM_DD_HH_MM_SS</P> */ public void setFormat(String format){ Date date = new Date(); if(DoubleDatePicker.YYYY_MM_DD.equals(format)){ format = YYYY_MM_DD; startDatepick = new DatePicker(date,format,font,dimension); endDatepick = new DatePicker(date,format,font,dimension); startDatepick.setTimePanleVisible(false); }else if(DoubleDatePicker.YYY_MM_DD_HH_MM_SS.equals(format)){ format = YYY_MM_DD_HH_MM_SS; startDatepick = new DatePicker(date,format,font,dimension); endDatepick = new DatePicker(date,format,font,dimension); startDatepick.setTimePanleVisible(true); } } public void setTitleFont(Font font){ this.redStartLbl.setFont(font); this.betwenLbl.setFont(font); } public void setDatePickerFont(Font font){ this.startDatepick.setFont(font); this.endDatepick.setFont(font); } public void setDatePickerSize(Dimension dimsion){ this.startDatepick.setPreferredSize(dimsion); this.endDatepick.setPreferredSize(dimsion); } public DatePicker getStartDatepick() { return startDatepick; } public void setStartDatepick(DatePicker startDatepick) { this.startDatepick = startDatepick; } public DatePicker getEndDatepick() { return endDatepick; } public void setEndDatepick(DatePicker endDatepick) { this.endDatepick = endDatepick; } public void clearDatePicker(){ startDatepick.getInnerTextField().setText(""); endDatepick.getInnerTextField().setText(""); } }
相关推荐
为了确保在各种操作系统和浏览器上的一致用户体验,开发者通常会选择使用Web标准或者跨平台的UI库,如React、Angular或Vue.js中的时间组件。这些组件通常经过精心设计,能很好地适应不同的设备和屏幕尺寸。 四、可...
在EXTJS这个强大的JavaScript框架中,时间控件是开发者经常使用的组件之一,尤其在构建复杂的Web应用程序时。EXTJS的时间控件允许用户选择或输入时间,通常以小时、分钟和秒为单位,提供了用户友好的界面和丰富的...
比如,jQuery UI中的Datepicker组件就是一个流行的选择,它可以提供跨浏览器的时间选择功能。 以下是一个使用jQuery UI Datepicker的基本步骤: 1. **引入库**: 在HTML文件中,你需要引入jQuery库和jQuery UI库的...
在提供的压缩包文件中,包含了一个名为“日期时间控件”的文件,很可能是用于测试的JSP文件,里面可能包含了具体的日期时间组件的实现和使用示例。通过研究这个文件,你可以更好地理解如何在实际项目中集成和配置...
PowerBuilder(PB)是一款强大的企业级应用程序...开发者可以根据实际应用的复杂性和用户界面的交互需求,灵活选择并定制适合的时间控制组件。通过熟练掌握这些控件的用法,可以构建出用户友好且功能强大的应用程序。
时间控件是一种交互式的UI组件,它提供了一个图形化的方式来选择小时和分钟,有时甚至包括秒和时区。用户可以通过点击上下箭头或者直接输入来调整时间。时间控件通常与日期控件一起使用,形成日期时间选择器,为...
3. **事件处理**:为NumericUpDown控件添加事件处理程序,例如`ValueChanged`事件,当用户更改任一时间组件时,更新DateTimePicker的值。同时,也需要确保DateTimePicker的值变化时,更新NumericUpDown控件的显示。 ...
CSS3的Flexbox布局可以轻松地对齐和排列这些时间组件,使得它们在不同屏幕尺寸上都能保持良好的布局。通过设置`display: flex`和相关的flex属性,我们可以确保小时、分钟和秒之间的间距均匀,同时还能实现响应式设计...
VB时间控件是VB编程环境中用于显示、编辑和操作日期与时间的一种图形用户界面组件,它可以帮助开发者方便地与用户交互,处理与时间相关的信息。 IFIX系统中使用VB时间控件可以实现的功能包括但不限于以下几个方面:...
Bootstrap时间控件是一种基于Twitter Bootstrap框架的用户界面组件,用于在网页上实现高效、美观的时间选择功能。Bootstrap作为最流行和广泛使用的前端开发框架之一,提供了丰富的预设样式、组件和JavaScript插件,...
它通过结合日期和时间选择器,满足了开发者对日期时间组件的需求,并且通过丰富的配置选项和事件处理机制,使得在实际项目中能够灵活应用。如果你在项目中使用了这个控件,记得查看`DateTimeField`的文档和示例,...
### dwz时间控件知识点详解 #### 一、dwz时间控件简介 根据所提供的信息来看,“dwz时间控件”是一种用于Web开发中的日期时间选择插件,它基于jQuery库进行开发,主要应用于DWZ(Dynamic Web Zoo)框架中。这种...
日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期...
"delphi日期时间控件" 提供了一种高效的方法,允许用户同时选择日期和时间,大大增强了用户体验。这里我们将深入探讨这种控件以及与其相关的知识点。 首先,TMS Component Pack是一个强大的第三方组件库,它包含了...
1. **EXT4时间控件**:EXTJS4是Sencha公司开发的一个富客户端JavaScript框架,它包含了大量的UI组件,其中时间控件是其一。EXT4的时间控件基于jQuery UI,提供了丰富的样式和功能,可以轻松地与后台数据进行交互。 ...
6. **React、Vue 或 Angular 时间组件**: 在现代前端框架中,有专门的日期和时间组件,如React的`react-datepicker`,Vue的`vuetify`的`v-date-picker`,Angular的`ng-bootstrap`的`NgbDatepicker`。这些组件通常...
标题中的"weui 时间控件含全天 上午 下午 选择"指的是一个基于WeUI框架设计的时间选择组件,它允许用户在全天、上午和下午之间进行选择。WeUI是中国微信团队设计的一套符合微信视觉风格的前端框架,适用于移动端网页...
"上下午显示时间控件"是一个针对此类需求的解决方案,它基于jQuery Mobile的日期插件进行扩展,专门设计用于显示和选择上午或下午的时间段。这个控件特别适合于网页时间输入、手机页面的时间选择,以及在手机网页...
在本文中,我们将深入探讨如何在EasyUI框架中有效地使用时间控件,以及如何解决时间格式化的问题。EasyUI是一个基于jQuery的轻量级前端开发框架,它提供了一系列丰富的组件,帮助开发者快速构建用户界面。时间控件是...
现有的bootstrap时间控件最小精度只能选择到分钟,秒针是随机生成的。如果应用在时间精度要求很高的系统里,因为随机生成不可控制秒值将会达不到需求。之前做一个公安项目的时候就遇到这一情况。为此改造了原有时间...