завернуть длинный текст радиокнопки в коденамоне - PullRequest
0 голосов
/ 28 ноября 2018

Я внедряю radiobutton в моем приложении, но если у меня есть длинный текст для одиночного radiobutton, он должен обернуть себя, но в настоящее время он появляется как одна строка.Код выглядит следующим образом:

ButtonGroup buttonGroup = new ButtonGroup();
for (int i = 0; i < (model).getItemCount(); i++)
        {
            String optionLabelStr = (model).getItem(i);
            RadioButton button = new RadioButton(optionLabelStr);
            button.addActionListener(this);
            button.setOppositeSide(false);
            cont.addComponent(button);
            buttonGroup.add(button);
            }

Я попытался использовать textarea, установив UIID в Spanlabel, но когда я выделяю текст, он не помечается как радио-кнопка, но если я выбираю радио-кнопку, он работает нормально.Поэтому, если я работаю с текстовой областью, я хочу, чтобы радиокнопка отмечалась даже при выделении текста.

Любая помощь по этому вопросу будет полезна.

1 Ответ

0 голосов
/ 29 ноября 2018

RadioButton происходит от Button, что происходит от Label.Они не могут обернуть.Обтекание текстом - это сложная функция, которая может серьезно повлиять на производительность и функциональность, если мы представим ее для всех компонентов.Однако это легко осуществить с помощью ведущих компонентов.На самом деле SpanButton является ведущим компонентом.

Таким образом, вы можете сделать что-то вроде:

RadioButton button = new RadioButton();
TextArea textOfButton = new TextArea(optionLabelStr);
textOfButton.setEditable(false);
textOfButton.setUIID("RadioButton");
Container lead = BorderLayout.centerEastWest(button, textOfButton, null);
lead.setLeadComponent(button);
button.addActionListener(this);
buttonGroup.add(button);
cont.addComponent(lead);    

То, что вы эффективно делаете здесь, это обертывание кнопки с текстом.Затем сделать текст похожим на текст переключателя.

Наконец, вы определяете ведущий компонент.Это означает, что все щелчки в пределах lead перейдут к переключателю, и он будет обрабатывать все события и изменения состояния пользовательского интерфейса.Создание чего-то, что выглядит / ведет себя как одна кнопка.

...