datefield.java
来自「这个项目是为Java平台提供一个灵活的日历组件(Ok)」· Java 代码 · 共 658 行 · 第 1/2 页
JAVA
658 行
* Setter for property renderer. * @param renderer New value of property renderer. */ public void setRenderer(DayRenderer renderer) { datepanel.setRenderer(renderer); } /** * Getter for property model. * @return Value of property model. */ public DataModel getModel() { return datepanel.getModel(); } /** * Setter for property model. * @param model New value of property model. */ public void setModel(DataModel model) { datepanel.setModel(model); } /** * Getter for property headerRenderer. * @return Value of property headerRenderer. */ public HeaderRenderer getHeaderRenderer() { return datepanel.getHeaderRenderer(); } /** * Setter for property headerRenderer. * @param headerRenderer New value of property headerRenderer. */ public void setHeaderRenderer(HeaderRenderer headerRenderer) { datepanel.setHeaderRenderer(headerRenderer); } /** * Getter for property showOkCancel. * @return Value of property showOkCancel. * */ public boolean getShowOkCancel() { return this.showOkCancel; } /** * Setter for property showOkCancel. * @param showOkCancel New value of property showOkCancel. * */ public void setShowOkCancel(boolean showOkCancel) { if (this.showOkCancel == showOkCancel) { return; } boolean old = this.showOkCancel; this.showOkCancel = showOkCancel; windowpanel = null; firePropertyChange("showOkCancel", old, showOkCancel); } /** * Getter for property allowsInvalid. * @return Value of property showOkCancel. * */ public boolean getAllowsInvalid() { return formatter.getAllowsInvalid(); } /** * Setter for property allowsInvalid. * @param showOkCancel New value of property showOkCancel. * */ public void setAllowsInvalid(boolean b) { boolean old = formatter.getAllowsInvalid(); formatter.setAllowsInvalid(b); firePropertyChange("allowsInvalid", old, b); } /** * Getter for property firstDayOfWeek. * @return Value of property firstDayOfWeek. */ public int getFirstDayOfWeek() { return this.firstDayOfWeek; } /** * Setter for property firstDayOfWeek. * @param firstDayOfWeek New value of property firstDayOfWeek. */ public void setFirstDayOfWeek(int firstDayOfWeek) { int old = this.firstDayOfWeek; if (datepanel != null) datepanel.setFirstDayOfWeek(firstDayOfWeek); this.firstDayOfWeek = firstDayOfWeek; firePropertyChange("firstDayOfWeek", old, firstDayOfWeek); } /** * Getter for property workingDays. * @return Value of property workingDays. */ public boolean[] getWorkingDays() { return this.workingDays; } /** * Setter for property workingDays. * @param workingDays New value of property workingDays. */ public void setWorkingDays(boolean[] workingDays) { boolean[] old = this.workingDays; if (datepanel != null) datepanel.setWorkingDays(workingDays); this.workingDays = workingDays; firePropertyChange("workingDays", old, workingDays); } /** * Enables or disables the component * @param enabled true for enabling */ public void setEnabled(boolean enabled) { button.setEnabled(enabled); field.setEnabled(enabled); super.setEnabled(enabled); } /** * Getter for enabled property * @return true if it's enabled */ public boolean isEnabled() { return button.isEnabled(); } /** * Returns the JFormattedTextField for further customization * @return the JFormattedTextField */ public JFormattedTextField getFormattedTextField() { return field; } class WindowPanel extends JDialog { public WindowPanel(Frame parent, boolean showWeekNumbers) { super(parent, false); init(showWeekNumbers); } public WindowPanel(Dialog parent, boolean showWeekNumbers) { super(parent, false); init(showWeekNumbers); } private void init(boolean showWeekNumbers) { setUndecorated(true); setFocusable(true); JPanel todo = new JPanel(new BorderLayout()); getContentPane().add(todo); todo.add(datepanel); todo.setBorder(BorderFactory.createLineBorder(Color.black)); if (showOkCancel) { JPanel abajo = new JPanel(); todo.add(abajo, BorderLayout.SOUTH); JButton ok = new JButton("Ok"); JButton cancel = new JButton("Cancel"); abajo.add(ok); abajo.add(cancel); getRootPane().setDefaultButton(ok); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { aceptar(); } }); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { cancelar(); } }); } else { /*datepanel.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { aceptar(); } });*/ datepanel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { aceptar(); } }); } KeyListener klistener = new KeyAdapter() { public void keyTyped(KeyEvent e) { if (e.getKeyChar() == 10) { aceptar(); } if (e.getKeyChar() == 27) { cancelar(); } } }; datepanel.addKeyListener(klistener); addKeyListener(klistener); addWindowListener(new WindowAdapter() { public void windowDeactivated(WindowEvent e) { cancelar(); } }); pack(); } public Date getDate() { return datepanel.getDate(); } public void setDate(Date d) { datepanel.setDate(d); } } /** * @return Returns the antiAliased. */ public boolean isAntiAliased() { return antiAliased; } /** * @param antiAliased The antiAliased to set. */ public void setAntiAliased(boolean antiAliased) { boolean old = this.antiAliased; this.antiAliased = antiAliased; datepanel.setAntiAliased(antiAliased); firePropertyChange("antiAliased", old, antiAliased); } /** * @return Returns the printMoon. */ public boolean isPrintMoon() { return printMoon; } /** * @param printMoon The printMoon to set. */ public void setPrintMoon(boolean printMoon) { datepanel.setPrintMoon(printMoon); repaint(); this.printMoon = printMoon; } /** * Sets the Today button visibility. * @param show */ public void setShowToday(boolean show) { datepanel.setShowToday(show); repaint(); } /** * Returns the Today button visibility. * @return */ public boolean getShowToday() { return datepanel.getShowToday(); } /** * Sets the today button text. * @param caption */ public void setTodayCaption(String caption) { datepanel.setTodayCaption(caption); } /** * Returns the today button text. * @return */ public String getTodayCaption() { return datepanel.getTodayCaption(); } /** * @return Returns the dateFormat. */ public DateFormat getDateFormat() { return dateFormat; } /** * @param dateFormat The dateFormat to set. */ public void setDateFormat(DateFormat dateFormat) { this.dateFormat = dateFormat; field.setFormatterFactory(formatterFactory); } /** * @return Returns the baseDate. */ public Date getBaseDate() { return baseDate; } /** * A base date may different from "today" and will be the date * shown on the Date Window when it is launched. Basically, a user * can have an empty textfield but when the window is open, it won't show * today by default but whatever baseDate is. It is backward compatible, ie * if you do not have a baseDate, the window will open with "today". * @param baseDate The baseDate to set. */ public void setBaseDate(Date baseDate) { this.baseDate = baseDate; } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?