Как ввести текст в верхнем регистре? - PullRequest
1 голос
/ 27 сентября 2011

Мне нужно вводить текст только в верхнем регистре. Как я могу сделать это в vaadin с TextField? Мне нужно, чтобы текст действительно заглавными, а не только визуально, используя стили ....

Ответы [ 6 ]

4 голосов
/ 27 сентября 2011

Простой способ добиться этого - установить стиль и изменить строку на верхний регистр самостоятельно.

Вот код 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());
3 голосов
/ 27 сентября 2011

Самый простой способ решить вашу проблему - это "user810595".Но если вы не хотите использовать пользовательские стили в своем приложении, вы можете использовать этот код:

    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
        }
    });
1 голос
/ 18 февраля 2014

Ну, это моя попытка:

код

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;
}
0 голосов
/ 23 октября 2015

в ключе события вы пишете

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

jTxtNoRinc: имя компонента

это просто

0 голосов
/ 30 июля 2015

Используйте конвертер.Точно так же, как вы конвертировали бы поле из String в Int, используя StringToIntConverter, вы можете попробовать использовать StringToUpperCaseStringConverter и затем связать его.

0 голосов
/ 29 июля 2013

Я бы сказал ..

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