Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 水平滚动时JTable标题不滚动_Java_Swing_Scroll_Jtable_Jtableheader - Fatal编程技术网

Java 水平滚动时JTable标题不滚动

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>",

我有一个jtable,大约有15列,宽度不同。不过,当我水平滚动时,一切都进行得很顺利,表标题不会随着数据列一起移动

我的代码:

    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命名约定并遵守它们