Один JFrame и 50 JPanel на это или только 50 JFrame один или любая альтернатива?
Вот картина моей программы. Все эти JMenuItems находятся в одном JFrame, и я добавил JPanels для каждого из них. Когда пользователь нажимает на один JMenuItem, все JPanels будут невидимы, и будет работать только соответствующий JPanel.
Это хороший способ? Мой класс огромный. Перед добавлением функционала стоит 5000 строк.
1 ответ
Поскольку у вас довольно много JPanels, я не думаю, что было бы хорошей идеей конвертировать их в JFrames, так как это мешало бы пользователю dektop (который хочет запустить одно приложение и внезапно обнаружил, что его рабочий стол заполнен с 6 или более новыми окнами?).
Так что выбор "JPanel" кажется логичным.
Тем не менее, если вы хотите предоставить своим пользователям возможность настраивать эти панели (например, перекрытия, бок о бок и т. Д.), То JDesktopPane может быть хорошим решением.
(Также взгляните на соответствующий раздел Учебников по Java.)
Не имеет прямого отношения к вашему вопросу, но наличие таких огромных классов (5000 строк без функциональности...) не считается хорошей практикой кодирования (если не что-либо еще по причинам технического обслуживания).
Из Соглашения о коде Oraclre для языка программирования Java, раздел 3 - Организация файлов:
Файлы длиной более 2000 строк громоздки и их следует избегать.
Таким образом, было бы неплохо попробовать разбить его на более мелкие, более пригодные для повторного использования и обслуживаемые фрагменты кода / классов.