java制作一个可滚动的列控件弹出窗口JXTable
晚安。我对JXtable
的性质有一个有趣的问题
问题是我创建的JXTable
列太多了,所以我决定让用户使用SwingX库中默认的ColumnControlButton
来选择要显示的列
由于我有太多的列,当我按下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);
}
# 1 楼答案
您应该能够使用Table Column Manager,它被设计用于
JTable
。它将显示一个带有JCheckBoxMenuItem
的所有列的菜单,以便您选择要显示的列当你有那么多菜单项时,你可能会想使用Menu Scroller。这将允许您控制一次显示多少菜单项,然后添加向上/向下按钮以滚动浏览其余菜单项
在
TableColumnManager
类的showPopup(...)
方法中,我添加了以下代码行:一次显示10个菜单项。将鼠标悬停在箭头上会导致菜单滚动