2012-06-27 2 views
0

У меня есть JForm/JFrame, который я хочу обновить или перезагрузить после того, как пользователь отправит форму. Но окно не закрывается. Обновление только JForm - repaint() - это правильное решение или любое другое.Обновить JFrame после отправки

Как бы я это сделал?

+3

Для лучшей помощи раньше, опубликовать [SSCCE] (http://sscce.org/). –

+0

Что происходит, когда пользователь отправляет (я полагаю, вы имеете в виду, что пользователь нажимает какую-то кнопку «ОК»)? В собственном шаблоне MVC ваши представления прослушивают изменения в модели, и каждый вид знает, как реагировать/обновлять себя в соответствии с уведомлениями модели. Перерисовка может работать в некотором случае (если, например, вы переопределили paintComponent), в некоторых других это может и не быть, вам может потребоваться повторная проверка до этого, и есть другие случаи ... –

+0

Когда пользователь попал в него, он сохраняет запись в базе данных, а i хочу обновить форму для следующей записи, но форма не закрывается – Jayashri

ответ

0

Нет нет. Использование repaint() - плохой способ делать вещи. Вы можете использовать диалоговые окна или открыть другой JFrame (после закрытия/использования setVisible (false) текущего) и т. Д. Расширьте свой вопрос, и я мог бы помочь вам лучше.

Редактировать

Вы можете вызвать метод, который обновляет форму после того, как кнопка отправить была нажата. Вы можете использовать repaint() в конце, если вам нужно.

+0

Я хочу сохранить записи из одного кадра в базе данных с другим пользователем ... когда первая запись сохраняется в базе данных, тогда я не хочу закрывать эту форму и вводить вторую запись. только форма обновлена, но не закрыта. Как я могу это сделать – Jayashri

+0

Лучше всего использовать JDialog для вашей работы. Установите JDailog в JFrame и продолжайте создавать новый JDialog, когда запись данных превышена. – vedant1811

+0

да. Я делаю это, но форма не обновляется. Когда я ввожу вторую запись, я хочу снова запустить файл и ввести вторую запись, но я не хочу этого делать. У меня есть форма, которая все еще открыта для ввода количества записей в то же время. – Jayashri

0

если ваш добавить новые компоненты или удаление компонентов из JFrame после подачи

вы можете использовать «перепроверить();» на примере компонента

actionPerformed(ActionListener a) 
{ 
JButton b=new JButton("xyz"); 
frame.add(b); 
b.revalidate(); 

} 
+0

Это работает только при добавлении или изменении макета – padman

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