簡體   English   中英

當用戶單擊標題時,如何防止對Java Swing JTable列進行排序?

[英]How do I prevent a Java Swing JTable column from being sorted when the user click on the header?

我有一個包含幾列的JTable。 我想使某些列無法排序。 我該怎么做? 我一直使用Java 1.4,因此不能使用TableRowSorter,因為直到1.6才引入TableRowSorter。

(例如,只有pseudo_code,所有內容都進行了硬編碼,例如,必須覆蓋ColumnModel中的列)

if (column >= 0 && column < getModelWrapper().getColumnCount() 
    && isSortable(column)) {

if (column >= 0 && column <=1  /*getModelWrapper().getColumnCount()*/ 
    && isSortable(column)) {

public void toggleSortOrder(int column) {

那么第二列是不可排序的

  • 如果無法幫助您獲得更好的幫助,請盡快發布SSCCE演示您的問題

如果要排序而不是其他,則必須實現一個偵聽器。 我用過這樣的東西:

table.getTableHeader().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            int col= table.getTableHeader().columnAtPoint(e.getPoint());
            // column number col has been clicked -- sort if necessary,
            // discard the event if sorting is not desired.
            //
        }

    });

注意可以拖放行的表; 您可以使用

table.getTableHeader().setReorderingAllowed(false);

暫無
暫無

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

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