我有一個實現TableModel接口的類。 當我在我的jTable上調用setModel並將我的類設置爲模型,然後調用jTable.updateUI();
一切都很好。 但是在某些情況下,我想用不同的結構改變模型。顯示數據仍然正常工作,但我的列沒有更新。有沒有辦法強制我的表也刷新新模型的列?當模型更改時自動更新jtable列
回答
模型需要觸發相應的事件,例如:fireTableStructureChanged,如果數據和結構都發生了變化。
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#fire
jTable.updateUI();
是外觀和感覺相關的方法,不要使用
我有一個實現了TableModel接口的類。
you have to override right notifiers從
TableModel
使用
DefaultTableModel
,還有API中實現所有通告,所有更新必須在
EventDispatchThread
做方法如果像我一樣只是寫一個小小的黑客,你可以考慮使用.repaint()方法,而不是.updateUI()方法。
我用這個,因爲我不使用TableModel的,但我只是有數據的對象[] [],就像在太陽的第一個例子(以及Oracle)的教程
不,不需要用一個行爲良好的模型重繪(注意:有一個驅動JTable的模型 - 雖然它可能是不可變的實現) – kleopatra
試試這個(則setModel(myTableModel)後插入;線):
myJTable.createDefaultColumnsFromModel();
在我的情況下,它解決了更新問題,而:.repaint(),.invalidate(),.fireTableDataChanged()沒有幫助。
不,這不是方法通過應用程序代碼調用:在setModel上自動發生(前提是您沒有更改autoCreateColumns的默認true值)。如果它看起來有助於你的情況,其他地方有什麼不對 – kleopatra
- 1. 當模型更新時JTable不更新
- 2. 更新當前JTable模型
- 3. 當verbose_name更改時,如何自動更新模型的ContentType?
- 4. 更新模型塊時自動更新「修改」字段
- 5. 如何更新jtable模型
- 6. 在沒有NSTreeController的模型更改時自動更新NSOutlineView
- 7. JTable自動更新幫助
- 8. 更新模型時,是自我更新
- 9. 當Angularjs中的模型更改時,模板未更新
- 10. 更新列表 - 查看模型更改
- 11. 當模型包含明文數據結構時,實時更新模型更改
- 12. 模型更改時更新JxTreeTable
- 13. 更改模型時更新UI
- 14. 模型更改時更新Eclipse JFace Treeviewer?
- 15. 當其內容更改時,JTable不更新
- 16. 在backbone.js中更改視圖時自動更改模型字段
- 17. 更新模型更新不及時更改的數據類型
- 18. 模型更改ContainerView更新
- 19. Ruby on Rails:當更改複選框時更新模型
- 20. 當其屬性(模型)更改時更新UIView子類
- 21. 當dom文本更改時更新knockoutjs視圖模型
- 22. 當選擇選項更改時,Knockoutjs模型不會更新
- 23. 當模型更改時,Angularjs ng-repeat不會更新
- 24. 當模型更改時,AngularJS不更新img src
- 25. 更新MySQL行時自動更改
- 26. JTable動態更新
- 27. 動態更新jTable
- 28. 過濾後更新jtable模型
- 29. 如何通知JTable更新其模型
- 30. 點擊JTable模型更新JTextfield
您的模型實現不正確。應用程序代碼_never_不會調用updateUI。 – kleopatra