У мене діалогове вікно на Java, яке представляє ~ 15прапорці користувачеві. Чи є спосіб отримати імена всіх зареєстрованих прапорів відразу? Наразі я шукаю по черзі, якщо вони відібрані, що не є фантазією рішення.
Я шукаю щось подібне Отримання всіх вибраних прапорців у масиві але потім на Java
Відповіді:
8 для відповіді № 1Коли ви додаєте свої прапорці до своїхДіалогове вікно також зберігає посилання на якусь колекцію. Тоді, коли ви хочете побачити, що вони перевірені, ви можете просто переглянути колекцію та перевірити стан кожної з них. Ви можете отримати ім'я, зателефонувавши на нього getText.
6 для відповіді № 2
List<JCheckBox> checkboxes = new ArrayList<JCheckBox>();
for( Component comp : panel.getComponents() ) {
if( comp instanceof JCheckBox) checkboxes.add( (JCheckBox)comp );
}
Це передбачає, що всі випадки JCheckBox є aпряма дочірня панель контейнера. Якщо ні, то вам потрібно буде рекурсивно відвідувати всі контейнери панелі, використовуючи ту саму логіку. Тепер, хоча ви можете це зробити, зазвичай краще зберегти ці посилання, коли ви створювали їх у список. Тоді ви можете легко перебирати всі прапорці без цього коду вище. Якщо у вас вбудовані компоненти, то краще попросити вбудований компонент виконати будь-яку операцію, яку ви хочете, щоб над ними встановлені прапорці (на відміну від витягування їх із компонента через геттер, щоб ви могли зіпсувати їх якимось чином).