我用一个jpanel装了一个jsplitpane,然后jsplitpane左边右边各装了一个jscrollpane.jscrollpane里面又各装了一个JTABLE来装不同的表。。现在我希望对表头的点击事件进行监听(点击哪行哪行进行排序)。。但是我通过gettableheader方法建立表头后就只显示表头了。我又在jscrollpane里面先添加一个jpanel然后再添加jtable。这样就出空指针异常了。。请问如何对表头点击事件监听?

解决方案 »

  1.   

    lz跟我的需求一样的哦,我也是点击列进行排序
    本来也是想点击表头排序的
    但没找到合适的方法  没有实现
    后来就退而求其次 采用了JTable鼠标点击监听
    一次或得所点击的行、列然后排序
      

  2.   

    提供一下你的source,大家帮你来看一下.
      

  3.   

     pnlTable.add(pnlTableT,   java.awt.BorderLayout.CENTER); 
                    pnlTable.add(pnlTableB,   java.awt.BorderLayout.SOUTH); 
                    pnlTableT.setLayout(borderLayout6); 
                    pnlTableT.add(splTable,   java.awt.BorderLayout.CENTER); 
                    pnlTableB.setLayout(borderLayout7); 
                    pnlTableB.add(tabHeadB,java.awt.BorderLayout.NORTH); 
                    pnlTableB.add(scrTableB,   java.awt.BorderLayout.CENTER); 
                    scrTableB.getViewport().add(tabB); 
                    splTable.setResizeWeight(0.5); 
                    splTable.setDividerSize(2); 
                    scrTableR.getViewport().add(tabR); 
                    scrTableL.getViewport().add(tabL); 
                    splTable.add(pnlScrTL,   JSplitPane.LEFT); 
                    splTable.add(pnlScrTR,   JSplitPane.RIGHT); 
                    pnlScrTR.add(scrTableR,java.awt.BorderLayout.CENTER); 
                    pnlScrTR.add(tabHeadR,java.awt.BorderLayout.NORTH); 
                    pnlScrTL.add(scrTableL,java.awt.BorderLayout.CENTER); 
                    pnlScrTL.add(tabHeadL,java.awt.BorderLayout.NORTH);