[Schmitzm-commits] r1132 - in trunk: src/schmitzm/swing src_junit/schmitzm/swing
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Fri Oct 15 00:00:46 CEST 2010
Author: mojays
Date: 2010-10-15 00:00:46 +0200 (Fri, 15 Oct 2010)
New Revision: 1132
Modified:
trunk/src/schmitzm/swing/ManualInputOption.java
trunk/src_junit/schmitzm/swing/SwingUtilTest.java
Log:
new ManualInputOption.Password; WITH TEST METHOD!! :-)
Modified: trunk/src/schmitzm/swing/ManualInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/ManualInputOption.java 2010-10-14 21:39:22 UTC (rev 1131)
+++ trunk/src/schmitzm/swing/ManualInputOption.java 2010-10-14 22:00:46 UTC (rev 1132)
@@ -29,6 +29,7 @@
******************************************************************************/
package schmitzm.swing;
+import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
@@ -316,4 +317,75 @@
return super.performIsInputValid();
}
}
+
+ /**
+ * Diese Klasse stellt eine Eingabe-Option dar, in der ein (verdecktes) Passwort
+ * eingegeben werden kann.
+ * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+ * @version 1.0
+ */
+ public static class Password extends ManualInputOption {
+ /**
+ * Erzeugt eine neue Eingabe-Option.
+ * @param label Beschreibung
+ * @param inputNeeded gibt an, ob eine Eingabe erforderlich ist
+ * @param defValue Wert der im Textfeld vorgeblendet wird
+ */
+ public Password(String label, boolean inputNeeded, String defValue) {
+ super(label,inputNeeded,defValue);
+ }
+
+ /**
+ * Erzeugt eine neue Eingabe-Option.
+ * @param label Beschreibung
+ * @param inputNeeded gibt an, ob eine Eingabe erforderlich ist
+ */
+ public Password(String label, boolean inputNeeded) {
+ this(label,inputNeeded,"");
+ }
+
+ /**
+ * Erzeugt eine neue Eingabe-Option, in der eine Eingabe zwingend erforderlich
+ * ist.
+ * @param label Beschreibung
+ */
+ public Password(String label) {
+ this(label,true,"");
+ }
+
+ /**
+ * Erzeugt eine neue Eingabe-Option, in der eine Eingabe zwingend erforderlich
+ * ist.
+ * @param label Beschreibung
+ * @param defValue Wert der im Textfeld vorgeblendet wird
+ */
+ public Password(String label, String defValue) {
+ this(label,true,defValue);
+ }
+
+ /**
+ * Erzeugt eine neue Instanz von {@link JPasswordField}.
+ */
+ protected JTextField createInputComponent() {
+ return new JPasswordField();
+ }
+
+ /**
+ * Liefert die aktuelle Eingabe im {@link JPasswordField}.
+ */
+ protected Object performGetValue() {
+ return ((JPasswordField)inpComp).getPassword();
+ }
+
+ /**
+ * Liefert den Wert, der in der Option eingegeben wurde. Prueft zuerst
+ * auf Gueltigkeit und ruft dann {@link #performGetValue()} auf.
+ * @return <code>null</code> wenn die aktuelle Eingabe nicht zulaessig ist
+ * (siehe {@link #isInputValid()})
+ */
+ public char[] getValue() {
+ return (char[])super.getValue();
+ }
+
+ }
}
Modified: trunk/src_junit/schmitzm/swing/SwingUtilTest.java
===================================================================
--- trunk/src_junit/schmitzm/swing/SwingUtilTest.java 2010-10-14 21:39:22 UTC (rev 1131)
+++ trunk/src_junit/schmitzm/swing/SwingUtilTest.java 2010-10-14 22:00:46 UTC (rev 1132)
@@ -11,6 +11,23 @@
*/
public class SwingUtilTest {
+ @Test
+ public void testPasswortInputOption() {
+ if ( !TestingUtil.INTERACTIVE )
+ return;
+
+ Object[] values = MultipleOptionPane.showMultipleInputDialog(
+ null,
+ "Test Passwort",
+ new ManualInputOption.Password("Ein Passwort","Geheim")
+ );
+ if ( values == null )
+ System.out.println("Dialog aborted without passwort.");
+ else
+ System.out.println("Passwort was: "+ new String((char[])values[0]));
+ }
+
+
@Test
public void testConvertColorToHexColorBooleanBoolean() {
assertEquals("#ff0000ff", SwingUtil.convertColorToHex(Color.RED, true,
More information about the Schmitzm-commits
mailing list