簡體   English   中英

Java Swing-向JTable添加行號列(行標題)

[英]Java Swing - Adding a row # column (row header) to a JTable

我通過自定義表模型將數據庫中的數據加載到JTable中。 我想有一列(應該是第一列),它只顯示顯示行號(即,它不與任何數據(或排序)綁定,而只是屏幕上從1開始的行號)。 這些“行標題”應與行標題一樣變灰。

任何想法如何做到這一點?

謝謝

您正在使用什么TableModel?

您可以在TableModel中重寫public Object getValueAt(int row, int column)來執行此操作。

public Object getValueAt(int row, int column) {
    if(column == 1) {
        return row; 
    } ...
}

如果對JTable排序時這不起作用,則另一種解決方案是在自定義TableCellRenderer實現它並重寫:

Component getTableCellRendererComponent(JTable table,
                                        Object value,
                                        boolean isSelected,
                                        boolean hasFocus,
                                        int row,
                                        int column)

如果希望行標題在進行水平滾動時(例如在Excel中)保持不變,則可以將兩個JTable合並在一起。 該組件向您展示其完成方式:

http://blue-walrus.com/2014/12/row-number-column-in-jtable/

您可能正在尋找此頁面: http : //www.chka.de/swing/table/row-headers/JTable.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM