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
перейдут к переключателю, и он будет обрабатывать все события и изменения состояния пользовательского интерфейса.Создание чего-то, что выглядит / ведет себя как одна кнопка.