这里肯定能找到你要的东西:
http://www2.gol.com/users/tame/swing/examples/SwingExamples.html

解决方案 »

  1.   

    那里我知道。里面有些不全,而且绝大部分都是在开发具体例子时书写的代码,不能称为是具有这些功能的Table控件,只能称为实现了这一功能而已。
    sigh~~~~
    不过还是谢谢
    请继续关注
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  2.   

    我觉得你实现一个columnmodel比较好,来控制列。
    http://www2.gol.com/users/tame/swing/examples/SwingExamples.html上面有详细的code
      

  3.   

    一个columnmodel class ,一个tableHeader class
    看看以下代码 /* our custom column model */
        private class YourTableColumnModel
    extends DefaultTableColumnModel
        {
    private Hashtable hiddenColumns = null;
    public YourTableColumnModel() {
        super();
        this.hiddenColumns = new Hashtable();
    }
    public void setColumnHidden(int tcNdx, boolean hide) {
        TableColumn tc = YourTable.this.getColumn(tcNdx, true);
        if (tc != null) {
    if (!hide) {
                this.hiddenColumns.remove(tc);
    } else
    if (!this.hiddenColumns.containsKey(tc)) {
                this.hiddenColumns.put(tc, new HiddenTableColumn(tc));
            }
            super.totalColumnWidth = -1; // 'super.invalidateWidthCache()'
            this.fireColumnMarginChanged(); 
        }
    }
    public boolean isColumnHidden(int n) {
        TableColumn tc = this.getColumn(n, false);
        return (tc != null)?
    (tc instanceof HiddenTableColumn) :
    true; // a non-existent column is 'hidden'
    }
    public TableColumn getColumn(int ndx) {
        return this.getColumn(ndx, false);
    }
    public TableColumn getColumn(int ndx, boolean realColumn) {
        TableColumn tc = super.getColumn(ndx);
        if (realColumn) {
    return tc;
        } else {
            Object htc = this.hiddenColumns.get(tc);
            return (htc != null)? (TableColumn)htc : tc;
        }
    }
    public Enumeration getColumns() {
        Enumeration enum = super.getColumns();
        if (!this.hiddenColumns.isEmpty()) {
         Vector v = new Vector();
         for (;enum.hasMoreElements();) {
        Object tc = enum.nextElement();
                Object htc = this.hiddenColumns.get(tc);
        v.add((htc != null)? htc : tc);
    }
            enum = v.elements();
        }
        return enum;
    }
        }    /* proxy column for actual columns which have been hidden */
        private class HiddenTableColumn
    extends TableColumn
        {
    private TableColumn realColumn = null;
    public HiddenTableColumn(TableColumn tc) {
        super(tc.getModelIndex(), 0);
        this.setMinWidth(0);
        this.setMaxWidth(0);
        this.setResizable(false);
        this.realColumn = tc;
    }
    public TableColumn getRealColumn() {
        return this.realColumn;
    }
        }    /* -------------------------------------------------------------------------
        ** custom JTableHeader to enable Column title tooltips
        */    protected JTableHeader createDefaultTableHeader() 
        {
    return new YourTableHeader(super.columnModel);
        }    private class YourTableHeader
       extends JTableHeader
        {
    public YourTableHeader() {
        this(null);
        this.setReorderingAllowed(false);
    }
    public YourTableHeader(TableColumnModel cm) {
        super(cm);
        this.setReorderingAllowed(false);
    }
    public String getToolTipText(MouseEvent me) {
        String tip = null;
        // XXX - ideally we would only display the column title as a 
        // tooltip if part of the title has been scrunched out of view.
        int c = super.columnModel.getColumnIndexAtX(me.getPoint().x);
        if ((c >= 0) && (c != getDescriptionColumn())) {
    Object v = super.columnModel.getColumn(c).getHeaderValue();
    if (v instanceof String) {
        tip = (String)v;
    }
        }
        return (tip != null)? tip : super.getToolTipText(me);
    }
        }
      

  4.   

    http://www2.gol.com/users/tame/swing/examples/SwingExamples.html
    有好多运行有错误!!!
    谁有正确的代码,我加上2百分!!
    我的email:[email protected]================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]