金額、つまり$100を取るためのテキストボックスがあります。
私のテキストボックスにはすでに $ 記号が含まれています:
<g:TextBox ui:field="fee">$</g:TextBox>
私が望むのは、ユーザーがテキストボックス内の $ 記号を削除/編集できず、その $ 記号の後にのみ金額を入力できることです。
これは可能ですか?
これは、イベントを使用して機能するはずです
button.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
TextBox b = (TextBox)event.getSource();
if (!b.getValue().startsWith("$")) {
b.setValue("$" + b.getValue());
}
}
});
css に基づくソリューションは見た目もパフォーマンスも優れているはずですが、
入力ボックスの上に $ 記号の付いたラベルを貼ります。
Label l = new Label("$");
TextBox b = new TextBox();
l.getElement().addClassName("dollarlabel");
b.getElement().addClassName("dollarinput");
RootPanel.get().add(b);
RootPanel.get().add(l);
そしていくつかのCSSスタイリング
.dollarlabel {
position: relative;
float: left;
}
.dollarinput {
margin-left: -10px;
padding-left: 10px;
}