Java 水平滚动时JTable标题不滚动
我有一个jtable,大约有15列,宽度不同。不过,当我水平滚动时,一切都进行得很顺利,表标题不会随着数据列一起移动 我的代码:Java 水平滚动时JTable标题不滚动,java,swing,scroll,jtable,jtableheader,Java,Swing,Scroll,Jtable,Jtableheader,我有一个jtable,大约有15列,宽度不同。不过,当我水平滚动时,一切都进行得很顺利,表标题不会随着数据列一起移动 我的代码: tblJournalBatchList.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); String ColumnNames []= {"<HTML><B>Batch No.</B></HTML>",
tblJournalBatchList.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
String ColumnNames []= {"<HTML><B>Batch No.</B></HTML>",
"<HTML><B>Date</B></HTML>","<HTML><B>Description</B></HTML>",
"<HTML><CENTER><B>Ready to<BR>Post</B></CENTER></HTML>,.....MORE COLUMN HEADINGS...."};
DefaultTableModel DTM = new DefaultTableModel(){
public boolean isCellEditable(int row, int column)
{
if (column == 0 || column == 2){
return false;
}
return true;
}
};
DTM.setColumnIdentifiers(ColumnNames);
DTM.setRowCount(10);
DTM.setColumnCount(15);
tblJournalBatchList.setRowHeight(20);
tblJournalBatchList.setModel(DTM);
tblJournalBatchList.getTableHeader().setPreferredSize(
new Dimension(tblJournalBatchList.getColumnModel().getTotalColumnWidth(), 50));
tblJournalBatchList.setPreferredSize(new Dimension(900,700));
TableColumn col [] = new TableColumn [4];
tblJournalBatchList.getColumnModel().getColumn(0);
tblJournalBatchList.getColumnModel().getColumn(1);
tblJournalBatchList.getColumnModel().getColumn(2);
tblJournalBatchList.getColumnModel().getColumn(3);
....MORE.....
col[0].setPreferredWidth(100);
col[1].setPreferredWidth(100);
col[2].setPreferredWidth(500);
col[3].setPreferredWidth(100);
....MORE.....
tblJournalBatchList.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
字符串ColumnNames[]={“批次号”,
“日期”、“说明”,
“准备发布……更多列标题……”;
DefaultTableModel DTM=新的DefaultTableModel(){
公共布尔值可编辑(int行,int列)
{
如果(列==0 | |列==2){
返回false;
}
返回true;
}
};
DTM.setColumnIdentifiers(列名称);
DTM.setRowCount(10);
DTM.setColumnCount(15);
tblJournalBatchList.setRowHeight(20);
tblJournalBatchList.setModel(DTM);
tblJournalBatchList.getTableHeader().setPreferredSize(
新维度(tblJournalBatchList.getColumnModel().getTotalColumnWidth(),50));
tblJournalBatchList.setPreferredSize(新维度(900700));
TableColumn col[]=新的TableColumn[4];
tblJournalBatchList.getColumnModel().getColumn(0);
tblJournalBatchList.getColumnModel().getColumn(1);
tblJournalBatchList.getColumnModel().getColumn(2);
tblJournalBatchList.getColumnModel().getColumn(3);
更多
列[0]。设置首选宽度(100);
列[1]。设置首选宽度(100);
列[2]。设置首选宽度(500);
列[3]。设置首选宽度(100);
更多
我得到了正确的密码。工作很好
tblJournalBatchList.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
String ColumnNames []= {"<HTML><B>Batch No.</B></HTML>",
"<HTML><B>Date</B></HTML>","<HTML><B>Description</B></HTML>",
"<HTML><CENTER><B>Ready to<BR>Post</B></CENTER></HTML>.....MORE COLUMNS....."};
DefaultTableModel DTM = new DefaultTableModel(null,ColumnNames){
public boolean isCellEditable(int row, int column)
{
if (column == 0 || column == 2){
return false;
}
return true;
}
};
DTM.setRowCount(100);
DTM.setColumnCount(15);
tblJournalBatchList.setRowHeight(20);
tblJournalBatchList.setModel(DTM);
tblJournalBatchList.getColumnModel().getColumn(0).setPreferredWidth(70);
tblJournalBatchList.getColumnModel().getColumn(1).setPreferredWidth(70);
tblJournalBatchList.getColumnModel().getColumn(2).setPreferredWidth(300);
tblJournalBatchList.getColumnModel().getColumn(3).setPreferredWidth(70);
..........MORE..............
tblJournalBatchList.getTableHeader().setPreferredSize(new Dimension(10000,32));
tblJournalBatchList.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
字符串ColumnNames[]={“批次号”,
“日期”、“说明”,
“准备发布……更多列……”;
DefaultTableModel DTM=新的DefaultTableModel(null,ColumnNames){
公共布尔值可编辑(int行,int列)
{
如果(列==0 | |列==2){
返回false;
}
返回true;
}
};
DTM.setRowCount(100);
DTM.setColumnCount(15);
tblJournalBatchList.setRowHeight(20);
tblJournalBatchList.setModel(DTM);
tblJournalBatchList.getColumnModel().getColumn(0.setPreferredWidth(70);
tblJournalBatchList.getColumnModel().getColumn(1.setPreferredWidth(70);
tblJournalBatchList.getColumnModel().getColumn(2.setPreferredWidth(300);
tblJournalBatchList.getColumnModel().getColumn(3.setPreferredWidth(70);
更多
tblJournalBatchList.getTableHeader().setPreferredSize(新维度(10000,32));
介意向我们展示一些您的GUI代码,以便我们发现错误吗?请查看编辑后的代码为什么设置表格标题的首选大小
?此代码没有谈论您的问题,是无菌的,为了更好地帮助我们尽快发布一个简短、可运行、可编译、由上午引起的问题!请学习java命名约定并遵守它们