swt中提供的table好像不行吧,
这个地方有第三方的table,ktable和ttable,说不定可以满足你的要求:
http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/external.html#tutorials

解决方案 »

  1.   

    KTable,看起来不错:
    http://www.kupzog.de/fkmk_uk/Programming/Downloads/downloads.html
      

  2.   

    不必要吧,直接用JTable就可以出表格呀,而且那样设置表格比较简单啦例子不多,你要自个研究了,建议用IDE,如JB2005就不错,但是JB2005不能自己生成表格,要自己输入代码,如果你是一定要HTML的方式处理,建议你用CSS来处理,那样比较简单啦,直接用DW这样的软件先设置好你要的表格,然后看代码,然后生成这样的网页就得了,搞那么复杂jTable1.setRowHeight(15); //设置行高例子如下,代码是我在JB2005的application里面搞出来的,你要自己NEW一下,就可以运行了
    我解释的很清楚了package tablelist;//太阳多高我多高;酒瓶不倒我不倒。
    import javax.swing.*;
    import java.awt.BorderLayout;
    import java.io.*;
    import javax.swing.JFrame;
    import java.awt.*;
    import javax.swing.event.*;
    import java.awt.event.MouseAdapter;
    import javax.swing.table.*;
    import java.awt.event.*;
    public class Frame2 extends JFrame {    //要加上一个判断是否为开始状态(没有任何行程)的代码
        //文件的数量必须一开始就确定,不然在监听的时候会无法使用 jTable1.getValueAt(0,0);
        String dirname = "/java/Vol_01"; //*开辟FILE类的实例,注意上面的IMPORT要引入IO×
        File f1 = new File(dirname);
        String list[] = f1.list(); //用list()方法出来的结果不带路径
        int aROWa = list.length - 1; //因为实际读到的数量在数组表示里面多了一个文件
        //*开始构建TABLE表格
         //这样创建的TABLE是个模型,没有内容的
         String[][] stats = new String[aROWa][3];    String[] column = new String[] {"文件名", "其他", "其他2"};
        JTable jTable1 = new JTable(stats, column);
        public Frame2() {        setSize(300, 200); //2窗口4元素之一
            setDefaultCloseOperation(EXIT_ON_CLOSE); //2窗口4元素之一        int aa = 0;
            stats[aa][0] = "这样设置变量"; //用AA的变量来使用循环
            stats[0][1] = "开心否"; //用这个来设置每个行的其他列的内容        jTable1.setAutoResizeMode(jTable1.AUTO_RESIZE_OFF); //没有也没有关系
    //          jTable1.setColumnSelectionAllowed(true);//没有也可,这个就是控制选择行的时候出现同时选择的东西
            jTable1.setRowHeight(15); //设置行高        /**监听开始
                     jTable1.addMouseListener(new MouseAdapter() {  //import java.awt.event.MouseAdapter;           import java.awt.event.*;
                    public void mouseClicked (MouseEvent e){
                       if (e.getClickCount() == 1){//点1次就可以打开窗口
                        Frame3 frame3 = new Frame3();                   jTable1.getValueAt(0,0);
                    setVisible(false);//可以让FRAME2消失的方法
                       }
             }
             });
             监听结束 */
    //准备要插入一个CLASS,并实例这个/
            //开始监听1
            jTable1.getModel().addTableModelListener(
                    new TableModelListener() {
                public void tableChanged(TableModelEvent e) {
                    Frame3 frame3 = new Frame3();                setVisible(false); //可以让FRAME2消失的方法                int firstRow = e.getFirstRow(),
                                   column = e.getColumn();                String properties = " source=" + e.getSource() +
                                        " firstRow= " +
                                        (firstRow == TableModelEvent.HEADER_ROW ?
                                         "HEADER_ROW" :
                                         Integer.toString(firstRow)) +                                    " lastRow= " + e.getLastRow() +                                    " column= " +
                                        (firstRow == TableModelEvent.ALL_COLUMNS ?
                                         "ALL_COLUMNS" :
                                         Integer.toString(column));                String typeString = new String();
                    int type = e.getType();                switch (type) {
                    case TableModelEvent.DELETE:
                        typeString = "DELETE";
                        break;
                    case TableModelEvent.INSERT:
                        typeString = "INSERT";
                        break;
                    case TableModelEvent.UPDATE:
                        typeString = "UPDATE";
                        break;
                    }
                    properties += " type=" + typeString;                //测试变量X在括号里面修改值后在外面的是否会跟着改变
                    JOptionPane.showMessageDialog(Frame2.this,
                                                  e.getClass().getName() +
                                                  "[" + properties + "]");
                }
            });//监听1 结束
            JScrollPane jsp = new JScrollPane(jTable1);        getContentPane().add(jsp, BorderLayout.CENTER); //2窗口4元素之一        setVisible(true); //显示底2个窗口不可缺少的4元素之一
            try {
                jbInit();
            } catch (Exception ex) {
                ex.printStackTrace();
            }    }    private void jbInit() throws Exception {
        }}