com.anrisoftware.prefdialog.miscswing.validatingfields.ValidatingComboBoxEditor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of prefdialog-misc-swing Show documentation
Show all versions of prefdialog-misc-swing Show documentation
Miscellaneous swing components.
The newest version!
/*
* Copyright 2013-2016 Erwin Müller
*
* This file is part of prefdialog-misc-swing.
*
* prefdialog-misc-swing is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* prefdialog-misc-swing is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with prefdialog-misc-swing. If not, see .
*/
package com.anrisoftware.prefdialog.miscswing.validatingfields;
import java.awt.Color;
import java.awt.Component;
import javax.swing.InputVerifier;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.plaf.basic.BasicComboBoxEditor;
import javax.swing.plaf.metal.MetalComboBoxEditor;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* Decorated the combo-box component depending whether or not the input is
* valid.
*
* @author Erwin Mueller, [email protected]
* @since 3.0
*/
public class ValidatingComboBoxEditor extends BasicComboBoxEditor {
/**
* Decorates the combo-box as a validating combo-box field.
*
* @param field
* the {@link JComboBox}.
*
* @return the {@link ValidatingComboBoxEditor} editor.
*/
public static ValidatingComboBoxEditor decorate(JComboBox field) {
ValidatingComboBoxEditor editor = new ValidatingComboBoxEditor();
field.setEditor(editor);
return editor;
}
private ValidatingTextField validating;
private final Class editorType;
/**
* @see BasicComboBoxEditor#BasicComboBoxEditor()
*/
public ValidatingComboBoxEditor() {
this.editorType = new JComboBox