Получить конкретный компонент JFrame, чтобы изменить его значение - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть JFrame, называемый MainFrame, в котором находятся почти все компоненты для моего приложения. Он имеет JTabbedPane и множество JPanels для группировки компонентов. Теперь мне нужно создать несколько пользовательских редакторов ячеек или кнопок, которые влияют на многие компоненты моего JFrame и некоторые вспомогательные классы, которым требуется информация от многих компонентов моего JFrame. До сих пор я передавал эти компоненты / значения компонентов конструктору вспомогательных классов или пользовательским редакторам, в которых иногда много компонентов. Я чувствую, что с этим что-то не так. Как будто я передаю много значений от конструктора. Я думаю о том, чтобы просто передать MainFrame и получить его компоненты. Как я могу получить эти компоненты из MainFrame и конкретные компоненты, которые мне нужны? Или предложите лучший подход.

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Вы можете получить все компоненты вашего каркаса:

Component[] components1=mFrame.getContentPane().getComponents();

Подкомпоненты основных контейнеров можно получить:

// Assuming component is a container
((Container)component).getComponents(); 

Вы можете получить имя компонента по:

Component.getName();
1 голос
/ 23 ноября 2011

Вы можете создать графический интерфейс HashMap и поместить любой компонент на эту карту. Затем получите нужные вам компоненты, такие как gui.get ("myButtonID"); Поместить имя компонента в Map может быть хорошей идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...