Мне нужен совет о том, как переписать графический интерфейс Java. Конечная цель легче поддерживать и улучшать.
Я создал интерфейс клиента Java-апплета, который действует и ведет себя подобно Eclipse. Разработчик может создавать свои формы ввода данных без использования одной строки кода (перетаскивание) и определять его атрибут. Эта часть довольно хорошо проработана. тем не менее, у меня осталось более 40000 строк кодов, которые очень сложно поддерживать.
Каждый раз, когда возникает ошибка или новое улучшение, я обычно не могу программировать более прямым способом. более половины времени, я должен обойти проблему, и это добавляет строки кода.
Рассмотрение:
-Java-веб-апплет (потому что он работает в любом браузере с установленным J2RE)
-runs на медленной машине
- развертывание около 200 узлов и рост
Проблемы, которые у меня сейчас есть:
-Слухи повсюду. иногда находится внутри element.AddListener (новый слушатель ..). Иногда находится вне класса, может быть в другом пакете, который содержит все остальные слушателя.
Вопрос: всегда ли хорошая идея поместить всех слушателей в другой пакет? если это так, я не могу использовать «это». чтобы получить нужную мне ссылку.
-JTable для меня это убийца :( проблема, с которой я столкнулся на Не удается получить доступ к данным столбца Jtable после того, как набор невидимый все еще сохраняется. Представьте, что у меня есть JTable с 3 столбцами. Первый столбец - dropDown, второй и третий столбец - это текстовое поле. Когда значение выбирается из выпадающего списка, мне нужно опираться на выбранное значение и обновлять второй столбец и третий столбец. Проблема в том, что если пользователь щелкает и быстро нажимает на другую строку , он будет обновлен до столбца, который находится в неправильной строке.
-В настоящее время программа закодирована в том смысле, что она является однопоточной. всякий раз, когда пользователь устанавливает http-соединение со стороной сервера, читает файл, пишет файл и т. д., мне нужно сделать его асинхронным процессом, чтобы он не ощущался как «зависание программы». Каков наилучший способ сделать это?
Очень ценю помощь здесь! Спасибо!