淺談Java利用表格模型創(chuàng)建表格 原創(chuàng)
用來(lái)創(chuàng)建表格的 JTable 類并不負(fù)責(zé)存儲(chǔ)表格中的數(shù)據(jù),而是由表格模型負(fù)責(zé)存儲(chǔ)。當(dāng)利用 JTable 類直接創(chuàng)建表格時(shí),只是將數(shù)據(jù)封裝到了默認(rèn)的表格模型中。接下來(lái),我們來(lái)學(xué)習(xí)表格模型的使用方法。
利用表格模型創(chuàng)建表格
接口 TableModel 定義了一個(gè)表格模型,抽象類 AbstractTableModel 實(shí)現(xiàn)了 TableModel 接口的大部分方法,只有一下三個(gè)抽象方法沒有實(shí)現(xiàn)。
(1)public int getRowCount() (2)public int getColumnCount() (3)public Object getValueAt(int rowIndex , int columnIndex)
通過(guò)繼承 AbstractTableModel 類實(shí)現(xiàn)上面三個(gè)抽象方法可以創(chuàng)建自己的表格模型類。DefaultTableModel 類便是由 Swing 提供的繼承了 AbstractTableModel 類并實(shí)現(xiàn)了上面三個(gè)抽象方法的表格模型類。
表格模型創(chuàng)建完成后,通過(guò) JTable 類的構(gòu)造方法 JTable(TableModel dm)創(chuàng)建表格,就實(shí)現(xiàn)了利用表格模型創(chuàng)建表格。
從JDK 1.6 開始,提供了對(duì)表格進(jìn)行排序的功能。通過(guò) JTable 類的 setRowSoreter(RowSorter<?extends TableModel>sorter)方法可以為表格設(shè)置排序器。TableRowSorter 類是由Swing 提供的排序器類。為表格設(shè)置排序器的典型代碼如下:
DefaultTableModel tableModel = new DefaultTableModel(); //創(chuàng)建表格模型 JTable table = new JTable(tableModel); //創(chuàng)建表格 table.setRowSorter(new TableRowSorter(tableModel)); //設(shè)置排序器
如果為表格設(shè)置了排序器,當(dāng)單機(jī)表格的某一列頭時(shí),在該列名稱的后面將出現(xiàn)▲標(biāo)記,說(shuō)明按該列升序排列表格中的所有行;當(dāng)再次單機(jī)該列頭時(shí),標(biāo)記將變成▼,說(shuō)明按該列降序排列表格中的所有行。
注意:
在使用表格排序器時(shí),通常要為其設(shè)置表格模型。一種方法是通過(guò)構(gòu)造方法 TableRowSorter(TableModel model)創(chuàng)建排序器;另一種方法是通過(guò) setModel(TableModel model)方法為排序器設(shè)置表格模型。
以上就是本文的所有內(nèi)容,謝謝大家對(duì)本站的支持,后面更加精彩!
相關(guān)文章
Java實(shí)現(xiàn)線性表的順序存儲(chǔ)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)線性表的順序存儲(chǔ),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
Java實(shí)現(xiàn)使用Websocket發(fā)送消息詳細(xì)代碼舉例
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)使用Websocket發(fā)送消息的相關(guān)資料,WebSocket是一種協(xié)議,用于在Web應(yīng)用程序和服務(wù)器之間建立實(shí)時(shí)、雙向的通信連接,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
使用@TableField(updateStrategy=FieldStrategy.IGNORED)遇到的坑記錄
這篇文章主要介紹了使用@TableField(updateStrategy=FieldStrategy.IGNORED)遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Java之實(shí)現(xiàn)十進(jìn)制與十六進(jìn)制轉(zhuǎn)換案例講解
這篇文章主要介紹了Java之實(shí)現(xiàn)十進(jìn)制與十六進(jìn)制轉(zhuǎn)換案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08

