From 5f43b2289fde9ff454d8f9f29c02122e7ca26b9a Mon Sep 17 00:00:00 2001 From: Frederik De Kegel Date: Mon, 25 Aug 2025 12:33:53 +0200 Subject: [PATCH 1/2] Adding the possibility to use 24h notation in the search filter of the message browser and the event browser. Signed-off-by: Frederik De Kegel --- .../ui/browsers/event/EventBrowser.form | 20 ++++++++++- .../ui/browsers/event/EventBrowser.java | 36 ++++++++++++++++--- .../ui/browsers/message/MessageBrowser.form | 20 ++++++++++- .../ui/browsers/message/MessageBrowser.java | 35 +++++++++++++++--- .../client/ui/components/MirthTimePicker.java | 16 +++++++-- 5 files changed, 112 insertions(+), 15 deletions(-) diff --git a/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.form b/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.form index 2bfa3905e0..e73ec9cbd0 100644 --- a/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.form +++ b/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.form @@ -55,6 +55,7 @@ + @@ -163,7 +164,10 @@ - + + + + @@ -287,6 +291,20 @@ + + + + + + + + + + + + + + diff --git a/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java b/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java index 8cdc106981..84b94ddffd 100644 --- a/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java +++ b/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java @@ -95,6 +95,7 @@ public class EventBrowser extends javax.swing.JPanel { private Map userMapById = new LinkedHashMap(); private SwingWorker worker; + private Boolean use24hourNotation = true; /** * Constructs the new event browser and sets up its default information/layout. */ @@ -138,6 +139,7 @@ public void mouseReleased(java.awt.event.MouseEvent evt) { public void propertyChange(PropertyChangeEvent arg0) { allDayCheckBox.setEnabled(startDatePicker.getDate() != null || endDatePicker.getDate() != null); startTimePicker.setEnabled(startDatePicker.getDate() != null && !allDayCheckBox.isSelected()); + hourNotation24.setEnabled(startDatePicker.getDate() != null || endDatePicker.getDate() != null); } }); @@ -146,6 +148,7 @@ public void propertyChange(PropertyChangeEvent arg0) { public void propertyChange(PropertyChangeEvent arg0) { allDayCheckBox.setEnabled(startDatePicker.getDate() != null || endDatePicker.getDate() != null); endTimePicker.setEnabled(endDatePicker.getDate() != null && !allDayCheckBox.isSelected()); + hourNotation24.setEnabled(startDatePicker.getDate() != null || endDatePicker.getDate() != null); } }); @@ -207,7 +210,7 @@ public void loadNew(String eventNameFilter) { } private Calendar getCalendar(MirthDatePicker datePicker, MirthTimePicker timePicker) throws ParseException { - DateFormatter timeFormatter = new DateFormatter(new SimpleDateFormat("hh:mm aa")); + DateFormatter timeFormatter = new DateFormatter(new SimpleDateFormat((use24hourNotation ? "HH:mm" : "hh:mm aa"))); Date date = datePicker.getDate(); String time = timePicker.getDate(); @@ -582,6 +585,7 @@ public void resetSearchCriteria() { endDatePicker.setDate(null); nameField.setText(""); allDayCheckBox.setSelected(false); + hourNotation24.setSelected(true); levelBoxInformation.setSelected(false); levelBoxWarning.setSelected(false); levelBoxError.setSelected(false); @@ -892,6 +896,7 @@ private void initComponents() { eventAttributesTable = null; resetButton = new javax.swing.JButton(); allDayCheckBox = new com.mirth.connect.client.ui.components.MirthCheckBox(); + hourNotation24 = new com.mirth.connect.client.ui.components.MirthCheckBox(); lastSearchCriteriaPane = new javax.swing.JScrollPane(); lastSearchCriteria = new javax.swing.JTextArea(); nextPageButton = new javax.swing.JButton(); @@ -909,8 +914,8 @@ private void initComponents() { endDatePicker = new com.mirth.connect.client.ui.components.MirthDatePicker(); startDatePicker = new com.mirth.connect.client.ui.components.MirthDatePicker(); nameField = new javax.swing.JTextField(); - startTimePicker = new com.mirth.connect.client.ui.components.MirthTimePicker(); - endTimePicker = new com.mirth.connect.client.ui.components.MirthTimePicker(); + startTimePicker = new com.mirth.connect.client.ui.components.MirthTimePicker((use24hourNotation ? "HH:mm" : "hh:mm aa"), Calendar.MINUTE); + endTimePicker = new com.mirth.connect.client.ui.components.MirthTimePicker((use24hourNotation ? "HH:mm" : "hh:mm aa"), Calendar.MINUTE); filterButton = new javax.swing.JButton(); advSearchButton = new javax.swing.JButton(); levelBoxInformation = new com.mirth.connect.client.ui.components.MirthCheckBox(); @@ -969,6 +974,16 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { } }); + hourNotation24.setBackground(new java.awt.Color(255, 255, 255)); + hourNotation24.setText("24 hour"); + hourNotation24.setToolTipText("Use 24 hour notation"); + hourNotation24.setFont(new java.awt.Font("Lucida Grande", 0, 11)); // NOI18N + hourNotation24.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + hourNotation24ActionPerformed(evt); + } + }); + lastSearchCriteriaPane.setBorder(null); lastSearchCriteriaPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); @@ -1108,7 +1123,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(allDayCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(allDayCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(hourNotation24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(19, 19, 19) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(levelBoxInformation, javax.swing.GroupLayout.DEFAULT_SIZE, 95, Short.MAX_VALUE) @@ -1192,7 +1209,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(levelBoxInformation, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(allDayCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(levelBoxWarning, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(levelBoxWarning, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(hourNotation24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(levelBoxError, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() @@ -1212,6 +1231,12 @@ private void allDayCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GE endTimePicker.setEnabled(endDatePicker.getDate() != null && !allDayCheckBox.isSelected()); }//GEN-LAST:event_allDayCheckBoxActionPerformed + private void hourNotation24ActionPerformed(java.awt.event.ActionEvent evt) { + use24hourNotation = hourNotation24.isSelected(); + startTimePicker.setFormatter((use24hourNotation ? "HH:mm" : "hh:mm aa")); + endTimePicker.setFormatter((use24hourNotation ? "HH:mm" : "hh:mm aa")); + } + private void nextPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextPageButtonActionPerformed loadPageNumber(events.getPageNumber() + 1); }//GEN-LAST:event_nextPageButtonActionPerformed @@ -1289,6 +1314,7 @@ private void advSearchButtonActionPerformed(java.awt.event.ActionEvent evt) {//G // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton advSearchButton; private com.mirth.connect.client.ui.components.MirthCheckBox allDayCheckBox; + private com.mirth.connect.client.ui.components.MirthCheckBox hourNotation24; private com.mirth.connect.client.ui.components.MirthButton countButton; private com.mirth.connect.client.ui.components.MirthDatePicker endDatePicker; private com.mirth.connect.client.ui.components.MirthTimePicker endTimePicker; diff --git a/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.form b/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.form index edaeeeac2b..c24d9ee575 100644 --- a/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.form +++ b/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.form @@ -838,6 +838,7 @@ + @@ -954,7 +955,10 @@ - + + + + @@ -1237,6 +1241,20 @@ + + + + + + + + + + + + + + diff --git a/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java b/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java index 25898c3e80..8f6b5d59e6 100644 --- a/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java +++ b/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java @@ -172,6 +172,8 @@ public class MessageBrowser extends javax.swing.JPanel { private List selectedMetaDataIds; + private Boolean use24hourNotation = true; + /** * Constructs the new message browser and sets up its default information/layout */ @@ -250,6 +252,7 @@ public void actionPerformed(ActionEvent e) { public void propertyChange(PropertyChangeEvent arg0) { allDayCheckBox.setEnabled(mirthDatePicker1.getDate() != null || mirthDatePicker2.getDate() != null); mirthTimePicker1.setEnabled(mirthDatePicker1.getDate() != null && !allDayCheckBox.isSelected()); + hourNotation24.setEnabled(mirthDatePicker1.getDate() != null || mirthDatePicker2.getDate() != null); } }); @@ -258,6 +261,7 @@ public void propertyChange(PropertyChangeEvent arg0) { public void propertyChange(PropertyChangeEvent arg0) { allDayCheckBox.setEnabled(mirthDatePicker1.getDate() != null || mirthDatePicker2.getDate() != null); mirthTimePicker2.setEnabled(mirthDatePicker2.getDate() != null && !allDayCheckBox.isSelected()); + hourNotation24.setEnabled(mirthDatePicker1.getDate() != null || mirthDatePicker2.getDate() != null); } }); @@ -502,7 +506,7 @@ public int getPageSize() { } private Calendar getCalendar(MirthDatePicker datePicker, MirthTimePicker timePicker) throws ParseException { - DateFormatter timeFormatter = new DateFormatter(new SimpleDateFormat("hh:mm aa")); + DateFormatter timeFormatter = new DateFormatter(new SimpleDateFormat((use24hourNotation ? "HH:mm" : "hh:mm aa"))); Date date = datePicker.getDate(); String time = timePicker.getDate(); @@ -2223,7 +2227,7 @@ private void updateXmlCheckBoxEnabled(String messagePaneName) { MessageBrowserTableNode messageNode = (MessageBrowserTableNode) messageTreeTable.getPathForRow(row).getLastPathComponent(); if (messageNode.isNodeActive()) { - String channelId = messageNode.getChannelId(); + String channelId = messageNode.getChannelId(); Long messageId = messageNode.getMessageId(); Integer metaDataId = messageNode.getMetaDataId(); @@ -2384,11 +2388,12 @@ private void initComponents() { advSearchButton = new javax.swing.JButton(); pageSizeField = new com.mirth.connect.client.ui.components.MirthTextField(); statusBoxError = new com.mirth.connect.client.ui.components.MirthCheckBox(); - mirthTimePicker2 = new com.mirth.connect.client.ui.components.MirthTimePicker(); + mirthTimePicker2 = new com.mirth.connect.client.ui.components.MirthTimePicker((use24hourNotation ? "HH:mm" : "hh:mm aa"), Calendar.MINUTE); statusBoxReceived = new com.mirth.connect.client.ui.components.MirthCheckBox(); pageGoButton = new javax.swing.JButton(); statusBoxTransformed = new com.mirth.connect.client.ui.components.MirthCheckBox(); - mirthTimePicker1 = new com.mirth.connect.client.ui.components.MirthTimePicker(); + mirthTimePicker1 = new com.mirth.connect.client.ui.components.MirthTimePicker((use24hourNotation ? "HH:mm" : "hh:mm aa"), Calendar.MINUTE); + hourNotation24 = new com.mirth.connect.client.ui.components.MirthCheckBox(); jLabel3 = new javax.swing.JLabel(); allDayCheckBox = new com.mirth.connect.client.ui.components.MirthCheckBox(); mirthDatePicker2 = new com.mirth.connect.client.ui.components.MirthDatePicker(); @@ -2920,6 +2925,16 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { regexTextSearchCheckBox.setText("Regex"); regexTextSearchCheckBox.setToolTipText(" Search all message content for a match to the regular expression pattern.
Regex matching could be a very costly operation and should be used with
caution, specially with large amount of messages. Any message content
that was encrypted by this channel will not be searchable. Only supported
on PostgreSQL, Oracle and MySQL databases. "); + hourNotation24.setBackground(new java.awt.Color(255, 255, 255)); + hourNotation24.setText("24 hour"); + hourNotation24.setToolTipText("Use 24 hour notation"); + hourNotation24.setFont(new java.awt.Font("Lucida Grande", 0, 11)); // NOI18N + hourNotation24.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + hourNotation24ActionPerformed(evt); + } + }); + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( @@ -2952,6 +2967,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(allDayCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(hourNotation24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(filterButton, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(regexTextSearchCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) @@ -3047,7 +3063,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(statusBoxReceived, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(allDayCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(statusBoxTransformed, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(statusBoxTransformed, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(hourNotation24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(statusBoxFiltered, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -3194,6 +3212,12 @@ private void allDayCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GE mirthTimePicker2.setEnabled(mirthDatePicker2.getDate() != null && !allDayCheckBox.isSelected()); }//GEN-LAST:event_allDayCheckBoxActionPerformed + private void hourNotation24ActionPerformed(java.awt.event.ActionEvent evt) { + use24hourNotation = hourNotation24.isSelected(); + mirthTimePicker1.setFormatter((use24hourNotation ? "HH:mm" : "hh:mm aa")); + mirthTimePicker2.setFormatter((use24hourNotation ? "HH:mm" : "hh:mm aa")); + } + private void pageGoButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pageGoButtonActionPerformed jumpToPageNumber(); }//GEN-LAST:event_pageGoButtonActionPerformed @@ -3272,6 +3296,7 @@ private void textSearchFieldActionPerformed(java.awt.event.ActionEvent evt) {//G private javax.swing.JScrollPane messageScrollPane; protected com.mirth.connect.client.ui.components.MirthTreeTable messageTreeTable; private javax.swing.ButtonGroup messagesGroup; + private com.mirth.connect.client.ui.components.MirthCheckBox hourNotation24; private com.mirth.connect.client.ui.components.MirthDatePicker mirthDatePicker1; private com.mirth.connect.client.ui.components.MirthDatePicker mirthDatePicker2; private com.mirth.connect.client.ui.components.MirthTimePicker mirthTimePicker1; diff --git a/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java b/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java index 3693501fe8..8d1dde662d 100644 --- a/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java +++ b/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java @@ -49,7 +49,7 @@ public MirthTimePicker(String format, int accuracy) { public void init(String format, int accuracy) { this.parent = PlatformUI.MIRTH_FRAME; - SimpleDateFormat dateFormat = new SimpleDateFormat(format); + //SimpleDateFormat dateFormat = new SimpleDateFormat(format); GregorianCalendar calendar = new GregorianCalendar(); Date now = calendar.getTime(); SpinnerDateModel dateModel = new SpinnerDateModel(now, null, null, accuracy); @@ -70,10 +70,11 @@ public void keyPressed(KeyEvent e) { public void keyReleased(KeyEvent e) {} }); - DefaultFormatterFactory factory = (DefaultFormatterFactory) tf.getFormatterFactory(); + /*DefaultFormatterFactory factory = (DefaultFormatterFactory) tf.getFormatterFactory(); formatter = (DateFormatter) factory.getDefaultFormatter(); formatter.setFormat(dateFormat); - fireStateChanged(); + fireStateChanged();*/ + setFormatter(format); this.addChangeListener(new ChangeListener() { @@ -85,6 +86,15 @@ public void stateChanged(ChangeEvent event) { }); } + public void setFormatter(String formatString) { + SimpleDateFormat dateFormat = new SimpleDateFormat(formatString); + JFormattedTextField tf = ((JSpinner.DefaultEditor) getEditor()).getTextField(); + DefaultFormatterFactory factory = (DefaultFormatterFactory) tf.getFormatterFactory(); + formatter = (DateFormatter) factory.getDefaultFormatter(); + formatter.setFormat(dateFormat); + fireStateChanged(); + } + public void setSaveEnabled(boolean saveEnabled) { this.saveEnabled = saveEnabled; } From 516c7822e2f9a78f63d14e9987affcc99d9340f9 Mon Sep 17 00:00:00 2001 From: Frederik De Kegel Date: Mon, 25 Aug 2025 12:53:51 +0200 Subject: [PATCH 2/2] Adding the possibility to use 24h notation in the search filter of the message browser and the event browser. Frederik De Kegel Signed-off-by: UZ Brussel Signed-off-by: Frederik De Kegel --- .../connect/client/ui/browsers/event/EventBrowser.java | 1 + .../client/ui/browsers/message/MessageBrowser.java | 1 + .../connect/client/ui/components/MirthTimePicker.java | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java b/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java index 84b94ddffd..e8c12c4575 100644 --- a/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java +++ b/client/src/com/mirth/connect/client/ui/browsers/event/EventBrowser.java @@ -95,6 +95,7 @@ public class EventBrowser extends javax.swing.JPanel { private Map userMapById = new LinkedHashMap(); private SwingWorker worker; + //providing 24h notation in the filter private Boolean use24hourNotation = true; /** * Constructs the new event browser and sets up its default information/layout. diff --git a/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java b/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java index 8f6b5d59e6..8ffbe36449 100644 --- a/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java +++ b/client/src/com/mirth/connect/client/ui/browsers/message/MessageBrowser.java @@ -172,6 +172,7 @@ public class MessageBrowser extends javax.swing.JPanel { private List selectedMetaDataIds; + //providing 24h notation in the filter private Boolean use24hourNotation = true; /** diff --git a/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java b/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java index 8d1dde662d..3f1c68d10c 100644 --- a/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java +++ b/client/src/com/mirth/connect/client/ui/components/MirthTimePicker.java @@ -49,6 +49,7 @@ public MirthTimePicker(String format, int accuracy) { public void init(String format, int accuracy) { this.parent = PlatformUI.MIRTH_FRAME; + //removed the simple date format and replaced with a function to format the date, see below //SimpleDateFormat dateFormat = new SimpleDateFormat(format); GregorianCalendar calendar = new GregorianCalendar(); Date now = calendar.getTime(); @@ -70,6 +71,7 @@ public void keyPressed(KeyEvent e) { public void keyReleased(KeyEvent e) {} }); + //Replace the default formatter by a function that uses the given format /*DefaultFormatterFactory factory = (DefaultFormatterFactory) tf.getFormatterFactory(); formatter = (DateFormatter) factory.getDefaultFormatter(); formatter.setFormat(dateFormat); @@ -86,6 +88,12 @@ public void stateChanged(ChangeEvent event) { }); } + /** + * Sets the format string used by the DateFormatter used by this time picker. + * + * @param formatString + * the format string to use + */ public void setFormatter(String formatString) { SimpleDateFormat dateFormat = new SimpleDateFormat(formatString); JFormattedTextField tf = ((JSpinner.DefaultEditor) getEditor()).getTextField();