2017-01-25 1 views
0

Я работаю над проектом системы инвентаризации. Существует метка «subtotal», которая вычисляет общую сумму от JTable столбца «сумма» в «мэйнфрейме», которую я хочу обновить, когда мы модифицируем определенную строку этой таблицы, используя другой фрейм modifyFrame.Обновление родительского компонента кадра (JLabel) в событии дочернего кадра

Поэтому я хочу, чтобы этот промежуточный итог обновлялся с помощью кнопки обновления modifyFrame. Как это сделать?

+0

Просьба поделиться своим кодом в форме [SSCCE] (http://sscce.org). –

+1

1) См. [Использование нескольких JFrames, Хорошая/Плохая Практика?] (Http://stackoverflow.com/q/9554636/418556) 2) Чтобы лучше помочь, опубликуйте [MCVE] или [Short, Self Contained , Правильный пример] (http://www.sscce.org/). 3) ** Один из способов, позволяющих графическому интерфейсу пользователя обновить родительский GUI, заключается в предоставлении ему ссылок на компоненты (компоненты), которые необходимо обновить. Есть и другие, возможно, и лучшие способы. ** –

+0

спасибо за помощь. Как вы сказали, предоставление ссылки - это хорошая идея, но как получить конкретный компонент из панели родительского фрейма? –

ответ

0

Храните переменную экземпляра JLabel. Когда нажата кнопка, сделайте свои расчеты и позвоните по телефону setText на JLabel

+0

Я попытался использовать ссылку mainFrame в файле editFrame, также имеющую доступ к JPanel mainFrame с помощью getContentPane (), но я не знаю, как получить доступ к компоненту JLable из этой jPanel ссылки mainFrame. Пожалуйста, помогите мне .. –

+0

Если у вас есть доступ к getContentPane() вы могли бы сделать что-то вроде: 'для (Компонент C:. Frame.getContentPane() getComponents()) { \t если (с InstanceOf JLabel) \t { \t \t // Код здесь \t} } ' – Jayfray

+0

Это предполагает, что у вас есть только один JLabel, и он был добавлен непосредственно в contentPane. Другой вариант использования шаблона наблюдателя, такого как MadProgrammer, предложенного выше – Jayfray

 Смежные вопросы

  • Нет связанных вопросов^_^