我试图创建一个JTable,其行标题看起来就像一个列标题,我花了太多时间在它上面:/我的情况类似于这个问题:JTable行标题实现 ,也许这一个: 自定义jtable具有表格单元格标题颜色的cellrenderer
他们似乎还没有把我带到那里.我搜索了很多例子,但都缺乏.甚至没有任何带有行标题的表的例子来自Oracle/Sun. 看起来这种表不应该那么罕见.
这个只是格式化第一列,但它看起来不像列标题:http: //java-swing-tips.blogspot.com/2011/01/jtable-rowheader.html
这个似乎使用JList作为行标题,并且它有对齐问题(每行关闭+1像素),并且当我设置外观时看起来不那么好. http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm
这个似乎是我需要使用的想法(行标题是一个单独的JTable,但随后作为行标题加载到JScrollPane),但我需要调整它到我的代码,然后确保行标题得到正确标题的外观和感觉.
http://www.chka.de/swing/table/row-headers/JTable.html
这就是我所做的减去最后一点.我尝试将表头的渲染器也作为行标题的渲染器.行标题/第一列现在是灰色而不是白色,就像它只是另一个数据列时一样,但仍然看起来不像列标题.这是正确的吗?或者我应该坚持将它作为主表中的常规列保留并使用它做其他事情?
所以这是我更新表的代码.此方法仅为列标题采用String数组,为行标题采用String数组,为主数据采用2D String数组.我有一个JTable dispTableRowHeader的行头和一个JTable dispTable主数据表.
private void updateDispTable(String[][] graphicalTable, String[] graphicalTableColumnHeader, String[] graphicalTableRowHeader) {
//set model for the main data table, put in data. Also prevent editing cells
dispTable.setModel(new javax.swing.table.DefaultTableModel(
graphicalTable,
graphicalTableColumnHeader
){
@Override
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
});
//some mods for main data table
dispTable.getTableHeader().setReorderingAllowed(false);//Was also able to do this within NetBeans GUI Builder by doing Table …Run Code Online (Sandbox Code Playgroud)