我只需要以大写字母输入文字。我如何使用TextField在vaadin中执行此操作? 我需要那个文本真的是大写的,不仅仅是使用样式....
答案 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" />