2012-06-27 165 views
0

我有一個JForm/JFrame,我想在用戶提交表單後刷新或重新加載。但窗戶不關閉。只刷新JForm是repaint()是正確的解決方案或任何其他。提交後刷新JFrame

我該怎麼做呢?

+3

爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –

+0

當用戶提交時會發生什麼(我想你是說用戶按下某種「確定」按鈕)?在適當的MVC模式中,您的視圖監聽模型中的更改,並且每個視圖都知道如何根據模型通知來響應/更新自身。重繪可能在某些情況下工作(例如,如果您覆蓋paintComponent),在其他一些情況下,它可能不會,您可能不得不打電話重新驗證之前,還有其他情況下... –

+0

當用戶點擊輸入它保存記錄在數據庫中,我想要刷新表單,但是表單不關閉 – Jayashri

回答

0

否否。使用repaint()是一種不好的做事方式。您可以使用對話框或打開另一個JFrame(關閉/使用setVisible(false)當前的)等。 擴展您的問題,我可以幫助您更好。

編輯

你可以叫提交按鈕被按下後,更新形式的方法。如果需要,最後可以使用repaint()。

+0

我想用不同的用戶在數據庫中保存同一幀的記錄...當第一條記錄保存在數據庫中時,我不想關閉該表單並輸入第二條記錄。只有形式刷新,但不關閉..我可以做到這一點 – Jayashri

+0

最好你使用JDialog s爲你的工作。在JFrame中設置JDailog,並在數據輸入結束時繼續創建新的JDialog – vedant1811

+0

是的,我這樣做,但表單沒有刷新..當我輸入第2條記錄時,我想再次運行文件並輸入第2條記錄,但是我不想這樣做..我的表單仍然是打開的,同時輸入記錄數 – Jayashri

0

如果您在提交

可以使用 之後添加從JFrame的一個新組件或刪除組件「重新驗證();」 使用組件示例

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

} 
+0

這隻適用於添加或更改佈局 – padman