简体   繁体   English

当用户单击标题时,如何防止对Java Swing JTable列进行排序?

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

I have a JTable that has several columns. 我有一个包含几列的JTable。 I wanted to make some of the columns unsortable. 我想使某些列无法排序。 How do I do it? 我该怎么做? I am stuck using Java 1.4 so using TableRowSorter isn't an option since it wasn't introduced until 1.6. 我一直使用Java 1.4,因此不能使用TableRowSorter,因为直到1.6才引入TableRowSorter。

(for example, only pseudo_code, everything is there hardcoded as example, have to override columns from ColumnModel) (例如,只有pseudo_code,所有内容都进行了硬编码,例如,必须覆盖ColumnModel中的列)

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

with

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

in public void toggleSortOrder(int column) { public void toggleSortOrder(int column) {

then second column isn't sortable 那么第二列是不可排序的

  • if not help you for better help sooner post an SSCCE demonstrated your issue 如果无法帮助您获得更好的帮助,请尽快发布SSCCE演示您的问题

If you want to sort some and not others, you'll have to implement a listener. 如果要排序而不是其他,则必须实现一个侦听器。 I've used something like this: 我用过这样的东西:

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.
            //
        }

    });

Watch out for tables that can drag and drop rows; 注意可以拖放行的表; you can disable this with 您可以使用

table.getTableHeader().setReorderingAllowed(false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用标题作为第一列创建Java Swing JTable,而不是第一行? - How do I create a Java Swing JTable with header as first column, not as first row? 单击JTable标题时排序的列错误 - Wrong column being sorted when JTable Header clicked Java Swing JTable列值和标头全角,怎么可能? - Java Swing JTable column value and header full width, how is it possible? "<i>Java Swing JTable;<\/i> Java Swing JTable;<\/b> <i>Right Click Menu (How do I get it to &quot;select&quot; aka highlight the row)<\/i>右键单击菜单(如何让它“选择”也就是突出显示该行)<\/b>" - Java Swing JTable; Right Click Menu (How do I get it to "select" aka highlight the row) 如何获取要在 JTable 中显示的图像 java swing - How do I get a an image to display in JTable in java swing 当我需要等待用户单击我的应用程序中的链接时,如何防止`java.IOException:HTTP1.1 header 解析器未收到字节`? - How do I prevent `java.IOException: HTTP1.1 header parser received no bytes`, when I need to wait for user to click a link in my app? Java Swing-向JTable添加行号列(行标题) - Java Swing - Adding a row # column (row header) to a JTable Java swing jTable未更新 - Java swing jTable not being updated 防止Java Swing JTable在输入无效数据时失去焦点 - Prevent Java Swing JTable losing focus when invalid data entered JTable Swing:我无法通过在标题中拖动光标来调整列的大小 - JTable Swing: I cannot resize column by dragging cursor in header
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM