【问题标题】:Make a scrollable ColumnControl popup JXTable制作一个可滚动的 ColumnControl 弹出 JXTable
【发布时间】:2015-11-25 02:17:57
【问题描述】:

下午好。我对JXtable 的属性有一个有趣的问题。

问题是我创建了带有太多列的JXTable,所以我决定让用户使用默认的ColumnControlButton 来选择要显示的列,而SwingX 库中默认带有JXTable

由于我的列太多,当我按下ColumnControl 按钮时,它并没有显示所有可以隐藏/显示的列。默认的ColumnControl 不带有用于管理这种情况的可滚动属性。我需要某种代码,例如与JXTable 一起使用的代码。我不知道,可能类似于.setHorizontalScrollEnabled(true),所以我可以看到ColumnControl 中的所有列。

提前感谢您的回答,伙计们......

顺便说一下,这是加载表格的代码:

public static void load_resg() throws Exception{

     String[] titles = new String[80];     

     for(int i=0; i<80; i++){
         titles[i]=NbP[i];
     }

      modelResg=new DefaultTableModel(null, titles){

          @Override
             public boolean isCellEditable(int i, int i1) {
               return false; //To change body of generated methods, choose Tools | Templates.
             }
        };

      BufferedReader bw = new BufferedReader(new FileReader("Out\\Depth.txt"));
      String line; 

      while((line=bw.readLine())!=null){
          modelResg.addRow(line.split(";"));
      }

    bw.close();
    resg.setIntercellSpacing(new Dimension(5, 5));
    resg.setHighlighters(HighlighterFactory.createSimpleStriping());
    resg.setHorizontalScrollEnabled(true);
    resg.packSelected();
    resg.setSortable(true);
    resg.getColumnControl();
    resg.setColumnControlVisible(true);
    resg.setModel(modelResg);

}

【问题讨论】:

  • 不知道它是否可以与 JXTable 一起使用,但您可以查看 Table Column Manager,它旨在与 JTable 一起使用。
  • 它确实适用于 JXTable,但它不会在弹出窗口中添加垂直滚动条,因此它不会让我看到所有列。无论如何感谢您的回复。

标签: java swingx jxtable


【解决方案1】:

您应该能够使用设计为与JTable 一起使用的Table Column Manager。它将显示带有JCheckBoxMenuItem 的所有列的菜单,因此您可以选择要显示的列。

但它不会在弹出窗口中添加垂直滚动条,所以它不会让我看到所有列

当您有这么多菜单项时,您可能想要使用Menu Scroller。这将允许您控制一次显示多少个菜单项,然后添加向上/向下按钮以滚动剩余的菜单项。

TableColumnManager 类的showPopup(...) 方法中,我添加了以下代码行:

MenuScroller.setScrollerFor(popup, 10);
popup.show(header, r.x, r.height);

一次显示 10 个菜单项。将鼠标悬停在箭头上会导致菜单滚动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多