Как узнать, установлен ли флажок в динамическом интерфейсе в кодовом имени - PullRequest
1 голос
/ 21 июня 2019

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

Использование iSelected () не работает, так как всегда ложно, потому что, кажется, он устанавливает последний флажок в списке, который возвращает ложь, поскольку он не выбран.


I am able to get the checkbox at a particular indext in the parent component but once I have it there is no "iSelected" option on it. So I use a dirty way by tokenizing the string representing the component to get to the selected statsus. There must be a better way.

```System.out.println("Checkbox Data "+cnt_tablerow[Integer.parseInt(lbl_memberno.getName())].getComponentAt(0)); //Checkbox Data: CheckBox[x=0 y=0 width=63 height=152 name=524, text = , gap = 2, selected = true]

```String str_chkbox = StringUtil.tokenize(StringUtil.tokenize(cnt_tablerow[Integer.parseInt(lbl_memberno.getName())].getComponentAt(0), ']').get(0), '[').get(1);

```String str_status = StringUtil.tokenize(StringUtil.tokenize(str_chkbox, ',').get(3), '=').get(1).trim();

```if(str_status == "true"){}

1 Ответ

1 голос
/ 21 июня 2019

Вы можете сгенерировать и установить name для каждого компонента при создании динамического пользовательского интерфейса. С именем вы можете использовать ComponentSelector API или простой for, чтобы получить желаемый Checkbox, а затем использовать метод isSelected.

Если вы хотите сохранить свою фактическую логику выбора с индексом, вы можете просто проверить экземпляр вашего компонента и привести его к CheckBox, что также поможет.

...