良い一日
IndicatorTextBox.ui.xml ファイルと IndicatorTextBox.java ファイルを持つカスタム TextBox があります。通常、偶数ハドラーをテキストボックスに追加するのは簡単です。
これは私のメインの .java ファイルにあります
@UiHandler("txtFirstName")
void onTxtFirstNameKeyUp(KeyUpEvent event){
validateFields();
}
txtFirstName が、このページに追加するラベル付きのカスタム テキスト ボックスである場合、ハンドラーを追加するにはどうすればよいですか? つまり、txtFirstnName は@UiField TextBox txtFirstNameではなく、代わりにIndicatorTextField txtFirstNameです。
IndicatorTextBox.java ファイルは次のようになります。
import com.google.gwt.core.client.GWT;
public class IndicatorTextField extends Composite implement HasText{
public interface Binder extends UiBinder<Widget, IndicatorTextField> {
}
private static final Binder binder = GWT.create(Binder.class);
public interface Style extends CssResource{
String textStyling();
String requiredInputLabel();
String colorNotValidated();
}
@UiField Style style;
@UiField Label label;
@UiField TextBox textBox;
public IndicatorTextField()
{
initWidget(binder.createAndBindUi(this));
}
public void setBackgroundValidateTextbox(boolean validated)
{
if(validated)
{
textBox.getElement().addClassName(style.colorNotValidated());
}
else
{
textBox.getElement().removeClassName(style.colorNotValidated());
}
}
@Override
public String getText() {
return label.getText();
}
@Override
public void setText(String text) {
label.setText(text);
}