package org.esa.snap.ui.tooladapter.dialogs; import com.bc.ceres.swing.binding.internal.TextComponentAdapter; import org.esa.snap.rcp.util.Dialogs; import javax.swing.*; import javax.swing.text.JTextComponent; /** * Created by jcoravu on 9/23/2016. */ public class RequiredTextComponentAdapter extends TextComponentAdapter { private final String messageToDisplay; public RequiredTextComponentAdapter(JTextComponent textComponent, String messageToDisplay) { super(textComponent); this.messageToDisplay = messageToDisplay; } @Override public InputVerifier createInputVerifier() { return new RequiredTextVerifier(); } private class RequiredTextVerifier extends InputVerifier { private RequiredTextVerifier() { } @Override public boolean verify(JComponent input) { String text = ((JTextComponent) input).getText(); if (text != null && text.length() > 0) { actionPerformed(null); return getBinding().getProblem() == null; } Dialogs.showError(messageToDisplay); return false; } } }