JTable控件能在applet中应用吗?
有的话能给个完整的例子吗?
不能得话怎么样才能在applet中显示表格并应用呢?谢谢

解决方案 »

  1.   

    能,applet和FRAME都是顶级容器,可以容纳这些组件
      

  2.   


    // Simple demonstration of JTable.
    // <applet code=Table width=350 height=200></applet>import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.table.*;
    import javax.swing.event.*;public class JTableDemo extends JApplet {
      private JTextArea txt = new JTextArea(4, 20);
      // The TableModel controls all the data:
      class DataModel extends AbstractTableModel {
        Object[][] data = {
          {"one", "two", "three", "four"},
          {"five", "six", "seven", "eight"},
          {"nine", "ten", "eleven", "twelve"},
        };
        // Prints data when table changes:
        class TML implements TableModelListener {
          public void tableChanged(TableModelEvent e) {
            txt.setText(""); // Clear it
            for(int i = 0; i < data.length; i++) {
              for(int j = 0; j < data[0].length; j++)
                txt.append(data[i][j] + " ");
              txt.append("\n");
            }
          }
        }
        public DataModel() { addTableModelListener(new TML());}
        public int getColumnCount() { return data[0].length; }
        public int getRowCount() { return data.length; }
        public Object getValueAt(int row, int col) {
          return data[row][col];
        }
        public void setValueAt(Object val, int row, int col) {
          data[row][col] = val;
          // Indicate the change has happened:
          fireTableDataChanged();
        }
        public boolean isCellEditable(int row, int col) {
          return true;
        }
      }
      public void init() {
        Container cp = getContentPane();
        JTable table = new JTable(new DataModel());
        cp.add(new JScrollPane(table));
        cp.add(BorderLayout.SOUTH, txt);
      }
      public static void main(String[] args) {
        Console.run(new JTableDemo(), 350, 200);
      }
    } ///:~
    class Console{
    public static String title(Object o){
    String t = o.getClass().toString();

    if(t.indexOf("class")!= 1)
       t=t.substring(6);
    return t;
    }
             public static void run(JApplet applet,int width,int heigth){
    JFrame frame = new JFrame(title(applet));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(applet);
    frame.setSize(width,heigth);
    applet.init();
    applet.start();
    frame.setVisible(true);
    }
    }