Первый: это разные методы или ошибка копирования-вставки?
printSelecteds (narrow_list);
printSelected (list);
Второй: чтобы отключить кнопку, которую вы обычно используете:
ok.setEnabled (false);
Если файл загружен, вы звоните
ok.setEnabled (true);
, чтобы включить кнопку «ОК». * * 1010
Я не вижу, как это связано с вашим информационным текстом и вашим методом printSelected (s). Если вы передадите состояние через графический интерфейс, вы можете потерять одно или другое из-за условий гонки. Изменение метки может быть поглотителем изменения состояния.
Вы можете иметь взаимоисключающие битовые комбинации для разрешения помех:
FILE_OPEN = 1;
SEARCHED = 2;
FRIDAY = 4;
чтобы добавить их поразрядно:
state |= FRIDAY
чтобы задать их в двоичном порядке:
if (state | FILE_OPEN) ....
Это не выглядит очень элегантно для меня. Думаю, я не уверен, в чем твоя проблема. :)
Чтобы запустить действие, если какая-то кнопка нажата, вы должны реализовать actionListener, который также может изменить вашу метку. Но свинг Eventloop уже проверит состояние ваших компонентов. Вы, кажется, частично дублируете работу.