/** * Returns the pickers date. * * Note: the date is only meaningful after a stopEditing and * before the next call to getTableCellEditorComponent. */ public Date getCellEditorValue() { return datePicker.getDate(); }
JXDatePicker datePicker = new JXDatePicker(); datePicker.setFormats("dd-MM-yyyy HH:mm:ss"); /* set in any way value inside datePicker */ JFormattedTextField editor = datePicker.getEditor(); Date dateInDatePicker = (Date) editor.getValue();
import java.text.SimpleDateFormat; import java.util.Calendar; import javax.swing.JFrame; import javax.swing.JPanel; import org.jdesktop.swingx.JXDatePicker; public class DatePickerExample extends JPanel { public static void main(String[] args) { JFrame frame = new JFrame("JXPicker Example"); JPanel panel = new JPanel(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(400, 400, 250, 100); JXDatePicker picker = new JXDatePicker(); picker.setDate(Calendar.getInstance().getTime()); picker.setFormats(new SimpleDateFormat("dd.MM.yyyy")); panel.add(picker); frame.getContentPane().add(panel); frame.setVisible(true); } }
JXDatePicker picker = new JXDatePicker(); picker.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // implementation here } });
JXDatePicker dp = new JXDatePicker(); dp.getEditor().addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { // Calculate age Date date = dp.getDate(); } });
/** * Update properties which depend on the picker's enabled. */ protected void updateFromEnabledChanged() { boolean isEnabled = datePicker.isEnabled(); popupButton.setEnabled(isEnabled); datePicker.getEditor().setEnabled(isEnabled); }
JXDatePicker fDate = new JXDatePicker(new Date()); //edit the Textfield fDate.getEditor().setBorder(null); fDate.getEditor().setEditable(false); //edit the Button JButton dateBtn= (JButton) fDate.getComponent(1); Image editImage =Toolkit.getDefaultToolkit().getImage(getClass().getResource("/toolbarButtonGraphics/general/Edit16.gif")); dateBtn.remove(eDate); dateBtn.setIcon(new ImageIcon(editImage)); dateBtn.setFocusPainted(false); dateBtn.setMargin(new Insets(0, 0, 0, 0)); dateBtn.setContentAreaFilled(false); dateBtn.setBorderPainted(false); dateBtn.setOpaque(false);
public void layoutContainer(Container parent) { Insets insets = datePicker.getInsets(); int width = datePicker.getWidth() - insets.left - insets.right; int height = datePicker.getHeight() - insets.top - insets.bottom; int popupButtonWidth = popupButton != null ? popupButton.getPreferredSize().width : 0; boolean ltr = datePicker.getComponentOrientation().isLeftToRight(); datePicker.getEditor().setBounds(ltr ? insets.left : insets.left + popupButtonWidth, insets.top, width - popupButtonWidth, height); if (popupButton != null) { popupButton.setBounds(ltr ? width - popupButtonWidth + insets.left : insets.left, insets.top, popupButtonWidth, height); } }
datePicker.addPropertyChangeListener(propertyChangeListener); datePicker.addFocusListener(focusListener); popupButton.addPropertyChangeListener(propertyChangeListener); popupButton.addMouseListener(mouseListener); popupButton.addMouseMotionListener(mouseMotionListener);
/** * {@inheritDoc} */ @Override public Dimension getPreferredSize(JComponent c) { Dimension dim = datePicker.getEditor().getPreferredSize(); if (popupButton != null) { dim.width += popupButton.getPreferredSize().width; } Insets insets = datePicker.getInsets(); dim.width += insets.left + insets.right; dim.height += insets.top + insets.bottom; return (Dimension)dim.clone(); }
/** * Updates internals after picker's date property changed. */ protected void updateFromDateChanged() { Date visibleHook = datePicker.getDate() != null ? datePicker.getDate() : datePicker.getLinkDay(); datePicker.getMonthView().ensureDateVisible(visibleHook); datePicker.getEditor().setValue(datePicker.getDate()); }
/** * Resets the UI property with the value from the current look and feel. * * @see UIManager#getUI */ @Override public void updateUI() { setUI((DatePickerUI) LookAndFeelAddons.getUI(this, DatePickerUI.class)); // JW: quick hack around #706-swingx - monthView not updated // is this complete? how about editor (if not uiResource), linkPanel? SwingUtilities.updateComponentTreeUI(getMonthView()); invalidate(); }
/** * Instantiates an editor with the given dateFormat. If * null, the datePickers default is used. * * @param dateFormat */ public DatePickerCellEditor(DateFormat dateFormat) { // JW: the copy is used to synchronize .. can // we use something else? this.dateFormat = dateFormat != null ? dateFormat : DateFormat.getDateInstance(); datePicker = new JXDatePicker(); // default border crushes the editor/combo datePicker.getEditor().setBorder( BorderFactory.createEmptyBorder(0, 1, 0, 1)); // should be fixed by j2se 6.0 datePicker.setFont(UIManager.getDefaults().getFont("TextField.font")); if (dateFormat != null) { datePicker.setFormats(dateFormat); } datePicker.addActionListener(getPickerActionListener()); }
/** * Sets the editor value to the model's selectedDate. */ private void updateEditorValue() { datePicker.getEditor().setValue(datePicker.getMonthView().getSelectionDate()); }
public void mouseReleased(MouseEvent ev) { if (!datePicker.isEnabled() || !datePicker.isEditable()) { return; } // Retarget mouse event to the month view. if (_forwardReleaseEvent) { JXMonthView monthView = datePicker.getMonthView(); ev = SwingUtilities.convertMouseEvent(popupButton, ev, monthView); monthView.dispatchEvent(ev); _forwardReleaseEvent = false; } }
public MongoDatePickerCellEditor() { this.dateFormat = DateUtils.utcDateTime(Locale.getDefault()); datePicker = DateTimePicker.create(); datePicker.getEditor().setBorder(BorderFactory.createEmptyBorder(0, 1, 0, 1)); datePicker.getEditor().setEditable(false); }
private JXDatePicker createDatePicker() { final JXDatePicker datePicker = new JXDatePicker(); datePicker.setFormats(DATE_FORMAT); datePicker.addActionListener(e -> { clearRadioGroup(); updateWidget(); }); datePicker.getEditor().addFocusListener(new FocusListener() { @Override public void focusGained(final FocusEvent e) { clearRadioGroup(); } @Override public void focusLost(final FocusEvent e) { // this for some reason does not work properly, so value can not be updated here } }); return datePicker; }
private DateInputComponent(boolean required, String labelText, String labelTooltipText, JXDatePicker datePicker) { super(required, labelText, labelTooltipText, datePicker); this.datePicker = datePicker; datePicker.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { if (JXDatePicker.COMMIT_KEY.equals(evt.getActionCommand())) { pcs.firePropertyChange(PROP_VALUE, null, getValue()); } } }); // listen to editor as actionListener only captures values picked from the popup: // datePicker.getEditor().addPropertyChangeListener("value", new PropertyChangeListener() { // @Override // public void propertyChange(PropertyChangeEvent evt) { // pcs.firePropertyChange(PROP_VALUE, evt.getOldValue(), evt.getNewValue()); // } // }); // but the datepicker still returns last valid date when edited to an invalid string... datePicker.getEditor().setEditable(false); }
private void updateChildLocale(Locale locale) { if (locale != null) { datePicker.getEditor().setLocale(locale); datePicker.getLinkPanel().setLocale(locale); datePicker.getMonthView().setLocale(locale); } }
add(lblIssueDate, gbc); issueDate = new JXDatePicker(); returnDate = new JXDatePicker(); issueDate.addPropertyChangeListener("date", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { System.out.println("date"); Date selectedDate = issueDate.getDate(); returnDate.getMonthView().setLowerBound(selectedDate); issueDate.setDate(sqldate); gbc.gridx++; add(issueDate, gbc);