如何以大写形式输入文字?

时间:2011-09-27 08:45:17

标签: textfield vaadin

我只需要以大写字母输入文字。我如何使用TextField在vaadin中执行此操作? 我需要那个文本真的是大写的,不仅仅是使用样式....

6 个答案:

答案 0 :(得分:4)

实现此目的的一种简单方法是设置样式并自行将字符串更改为大写。

这是VAADIN代码:

TextField donut = new TextField();
donut.setStyleName("upMeBro");
this.addComponent(donut);

像这样设置css文件:

.v-textfield-upMeBro {
    text-transform: uppercase;
}

触发事件后(用户输入文本,单击按钮等),您可以使用原生java轻松地将字符串修改为大写:

System.out.println(donut.getValue().toString().toUpperCase());

答案 1 :(得分:3)

解决问题的最简单方法是“用户810595”。但是,如果您不想在应用程序中使用自定义样式,则可以使用以下代码:

    final TextField field = new TextField();
    field.setImmediate(true);

    field.addListener(new TextChangeListener() {
        @Override
        public void textChange(TextChangeEvent event) {
            String text = event.getText();
            field.setValue(text.toUpperCase());

                    //TODO: do some actions if needed
        }
    });

答案 2 :(得分:1)

这是我的尝试:

public class UpperTextField extends TextField {


public UpperTextField() {
    addStyleName("upper-case");
}

@Override
protected String getInternalValue() {
    return super.getInternalValue() != null ? super.getInternalValue().toUpperCase() : super.getInternalValue();
}

}

CSS

.upper-case{
text-transform: uppercase;
}

答案 3 :(得分:0)

使用转换器。就像使用StringToIntConverter将字段从String转换为Int一样,您可以尝试使用StringToUpperCaseStringConverter然后绑定它。

答案 4 :(得分:0)

在事件键发布时你写了

private void jTxtNoRincKeyReleased(java.awt.event.KeyEvent evt)
{
    // TODO add your handling code here:
    jTxtNoRinc.setText(jTxtNoRinc.getText().toUpperCase());
}

jTxtNoRinc:组件名称

很简单

答案 5 :(得分:-1)

我会说..

<input id="yourid" style="**text-transform: uppercase**" type="text" />