eva/3 Application BuilderEntwicklung von eva/3 AnwendungenAllgemeine InformationenGemeinsame Eigenschaften 

InputVerifier

Mit einem InputVerifier ist es möglich Eingaben zu prüfen. So kann z.B. festgestellt werden ob eine Eingabe nur aus Ziffern besteht. Wird ein unzulässiger Wert festgestellt, so wird in diesem Beispiel die Hintergrundfarbe des SFormattedField rot eingefärbt.

Um die Eingaben prüfen zu können, muss die von der Swing Klasse InputVerifier abgeleitete Klasse im Eigenschaften Dialog der Komponente mit dem Klassen-Auswahl Dialog gesetzt werden.

Beispiel:

package mypackage;

import java.awt.Color;
import java.util.regex.Pattern;

import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JOptionPane;

import com.odc.eva3.rt.se.beans.SFormattedField;

public class NumberVerifier extends InputVerifier {

    public boolean verify(JComponent input) {
        SFormattedField field = (SFormattedField) input;
        String value = ((SFormattedField) input).getText();
        if (value == null || value.length() == 0) {
            field.setBackground(new Color(245, 245, 245));
            return true;
        }
        if (!Pattern.matches("\\d*", value)) {
            field.setBackground(new Color(234, 0, 0));
            new Message().action(new String[] { "Bitte geben Sie nur Zahlen ein",
            "Eingabefehler" }, null);
            return false;
        }
        if (Pattern.matches("\\d*", value)) {
            field.setBackground(new Color(245, 245, 245));
            return true;
        }
        return true;
    }
}