Мое Java-приложение в основном живет внутри объекта JFrame. Его меню «Файл» имеет 2 пункта «Открыть» и «Закрыть». Пункт меню "Закрыть" отключен. Он будет включен с помощью fileOpenActionPerformed после завершения анализа файла:
private void fileOpenActionPerformed(java.awt.event.ActionEvent evt) {
// (1) get file from JFileChooser
// (2) parse Contents
if(bContentsValid == true) {
this.fileClose.setEnabled(true);
}
Поскольку синтаксический анализ занимает довольно много времени, я хотел бы выделить его в отдельный поток. Поток должен включить пункт меню «Закрыть» после завершения.
Передача потока ссылки JMenuItem выглядит для меня довольно плохим дизайном. Любое предложение по дизайну?
NB: я думал об использовании объекта-оболочки, содержащего как JFrame, так и ссылку на поток, но это ломает большую часть кода, созданного IDE NetBeans...