You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2015/12/04 13:38:22 UTC
svn commit: r1717954 - in /jmeter/trunk:
src/core/org/apache/jmeter/gui/util/JDateField.java xdocs/changes.xml
Author: pmouawad
Date: Fri Dec 4 12:38:22 2015
New Revision: 1717954
URL: http://svn.apache.org/viewvc?rev=1717954&view=rev
Log:
Bug 58685 - JDatefield : Make the modification of the date with up/down arrow work
Bugzilla Id: 58685
Modified:
jmeter/trunk/src/core/org/apache/jmeter/gui/util/JDateField.java
jmeter/trunk/xdocs/changes.xml
Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/JDateField.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JDateField.java?rev=1717954&r1=1717953&r2=1717954&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/util/JDateField.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/JDateField.java Fri Dec 4 12:38:22 2015
@@ -29,16 +29,16 @@ import java.util.Calendar;
import java.util.Date;
import javax.swing.JTextField;
+import javax.swing.SwingUtilities;
/**
* This is Date mask control. Using this control we can pop up our date in the
- * text field. And this control is Devloped basically for JDK1.3 and lower
- * version support. This control is similer to JSpinner control this is
+ * text field. And this control is developed basically for JDK1.3 and lower
+ * version support. This control is similar to JSpinner control this is
* available in JDK1.4 and above only.
* <p>
* This will set the date "yyyy/MM/dd HH:mm:ss" in this format only.
* </p>
- *
*/
public class JDateField extends JTextField {
@@ -118,14 +118,6 @@ public class JDateField extends JTextFie
return dateFormat.parse(getText());
} catch (ParseException e) {
return new Date();
- } catch (Exception e) {
- // DateFormat.parse has some bugs (up to JDK 1.4.2) by which it
- // throws unchecked exceptions. E.g. see:
- // http://developer.java.sun.com/developer/bugParade/bugs/4699765.html
- //
- // To avoid problems with such situations, we'll catch all
- // exceptions here and act just as for ParseException above:
- return new Date();
}
}
@@ -173,13 +165,17 @@ public class JDateField extends JTextFie
if (pos > newDate.length()) {
pos = newDate.length();
}
- setCaretPosition(pos);// Restore position
-
+ final int newPosition = pos;
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ setCaretPosition(newPosition);// Restore position
+ }
+ });
}
class KeyFocus extends KeyAdapter {
- KeyFocus() {
- }
+ KeyFocus() {}
@Override
public void keyPressed(KeyEvent e) {
@@ -192,15 +188,16 @@ public class JDateField extends JTextFie
}
class FocusClass implements FocusListener {
- FocusClass() {
- }
+ FocusClass() {}
@Override
- public void focusGained(FocusEvent e) {
- }
+ public void focusGained(FocusEvent e) {}
@Override
public void focusLost(FocusEvent e) {
+ if(getText() == null || getText().isEmpty()) {
+ return;
+ }
try {
dateFormat.parse(getText());
} catch (ParseException e1) {
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1717954&r1=1717953&r2=1717954&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Fri Dec 4 12:38:22 2015
@@ -214,6 +214,7 @@ Summary
<li><bug>57731</bug>TESTSTART.MS has always the value of the first Test started in Server mode in NON GUI Distributed testing</li>
<li><bug>58016</bug> Error type casting using external SSL Provider. Contributed by Kirill Yankov (myworkpostbox at gmail.com)</li>
<li><bug>58293</bug>SOAP/XML-RPC Sampler file browser generates NullPointerException</li>
+ <li><bug>58685</bug>JDatefield : Make the modification of the date with up/down arrow work. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)</li>
</ul>
<!-- =================== Thanks =================== -->