javafx树视图加选框_JavaFX缺少的功能调查:表视图
javafx樹視圖加選框
JavaFX的TableView(和TreeTableView)贏得了我最近的“ JavaFX缺失功能”調查以及許多后續討論中(尤其是我們蘇黎世JavaFX Meetup小組的成員 )中提到最多的控件的價格。 )。 我想原因之一是一個簡單的事實,即幾乎每個應用程序都需要一個表視圖。
TableView最需要的兩個功能/改進是凍結行/列和更好的編輯支持。
凍結行/列
- 凍結/鎖定行–可以使一個或多個行停留在表格視圖的頂部或底部。 嘗試在列中顯示值的總和時,通常需要此功能。
- 凍結/鎖定列–可以在表格視圖的左側或右側保留一個或多個列。 同樣,顯示行中值的總和或顯示行的某種標題。 對于我的FlexGanttFX框架,我希望在左側有一個列來顯示行號(是的,例如在Excel中)。
我相信凍結列/行是TableView計劃的一項功能,但是由于時間和資源的限制,并沒有將其納入最終版本。 如果我沒記錯的話,實際上TableView代碼庫中有一些用于此目的的遺留代碼/注釋。
編輯支持
- 只需開始輸入新值即可編輯單元格值-當前用戶必須先雙擊一個單元格。
- 流利的鍵盤導航,可通過TAB,SHIFT_TAB,ENTER和箭頭鍵從一個單元格導航到另一單元格。
- 編輯值時的單元格驗證。 如果不輸入有效值或取消編輯,用戶將不能離開單元格。
當前的編輯支持可能是使開發人員在使用TableView時最討厭的一件事,因為他們知道用戶希望得到更多。 我本人已經在兩個項目中工作過,我們不得不修改TableView,以便它可以讓用戶直接編輯值。
雜
要求的其他功能包括:
- 單元格/行跨度–使單元格跨多個行和/或列的能力。
- 過濾器用戶界面–表格視圖通常使用戶可以在每一列中選擇一個或多個過濾器。 然后,所有過濾器的集合將確定可見行。 在JavaFX中,可以輕松地在模型中完成此操作(通過SortedList和FilteredList),但開發人員希望直接在TableView內部(在標頭內部)有內置控件。
- 自動列大小調整–一種調整列寬以適應其內容的方法,以確保所有值的可讀性。 該功能實際上是在TableView代碼庫中實現的。 當用戶雙擊列標題的邊緣時,它用于調整列的大小。 但是,此代碼不是公開的。 我最近發布了一篇文章,展示了如何執行此操作 。
我認為上述所有功能都是可以通過良好的表控件獲得的,但是我可以肯定,JavaFX團隊本身不會在這方面取得任何進展。 我認為,從Oracle的角度來看,當前的表實現被認為“足夠好”,因此我認為由第三方來提出一個好的替代方案(開源或商業)將取決于第三方。 我就如何實現自己的表視圖控件進行了很多頭腦風暴,但得出的結論是,它太大了,無法成為一個簡單的附帶項目。 這很不好,但這也意味著其他人有可能創造商業產品并實際從中獲利。 因為就像我一開始所說:幾乎所有應用程序都需要一個表視圖。
下一個“缺少功能”博客將介紹性能和質量。
敬請關注!
PS :對于上面的某些功能,您可能需要嘗試ControlsFX項目中的SpreadsheetView。
翻譯自: https://www.javacodegeeks.com/2016/02/javafx-missing-features-survey-table-view.html
javafx樹視圖加選框
總結
以上是生活随笔為你收集整理的javafx树视图加选框_JavaFX缺少的功能调查:表视图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (DDOS攻击小组件素材白色)
- 下一篇: linux 时间服务器(linux 时间