⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtable.java~48~

📁 提供了常用的JAVA技术的示例
💻 JAVA~48~
字号:
// 13-3 用 JTable 实 现 数 据 表 格 。package TestTable;import javax.swing.JTable;import javax.swing.table.AbstractTableModel;import javax.swing.JScrollPane;import javax.swing.JFrame;import javax.swing.SwingUtilities;import javax.swing.JOptionPane;import java.awt.*;import java.awt.event.*;import javax.swing.ImageIcon;public class TestTable extends JFrame{    private boolean debug=true;    public TestTable() {        super("成员记录");        MyTableModel MyModel=new MyTableModel();        JTable table=new JTable(MyModel);        table.setPreferredScrollableViewportSize(new Dimension(500,70));        JScrollPane scrollPane=new JScrollPane(table);        getContentPane().add(scrollPane,BorderLayout.CENTER);    }    class MyTableModel extends AbstractTableModel{        final String[] columnNames={"name","position","telephone","monthlypay","married"};        final Object[][] data={        {"wangdong","executive","001",new Integer(5000),new Boolean(false)},        {"lihong","secretary","002",new Integer(5000),new Boolean(true)},        {"kurui","manager","003",new Integer(5000),new Boolean(false)},        {"zhaoxin","safeguard","004",new Integer(5000),new Boolean(true)},        {"chenlei","salesman","005",new Integer(5000),new Boolean(false)}        };        // 下面三个方法继承接口 TableModel .        public int getColumnCount(){            return columnNames.length;        }        public int getRowCount(){            return data.length;        }        public Object getValueAt(int row,int col){            return data[row][col];        }        // 下面的方法继承类 AbstractTableModel 。        public String getColumnName(int col){            return columnNames[col];        }        public Class getColumnClass(int c){            return getValueAt(0,c).getClass();        }        public boolean isCellEditable(int row,int col){            if (col<0) return false;            else       return true;        }       public void setValueAt(Object value,int row,int col){           if (debug){                System.out.println("setting value at "+row+","+col+                                   "(an instance of "+value.getClass()+")");            }            if (data[0][col] instanceof Integer && !(value instanceof Integer)){                try{                    data[row][col]=new Integer(value.toString());                    fireTableCellUpdated(row,col);                }                catch(Exception e){                   System.out.println(e.getMessage());                    JOptionPane.showMessageDialog(TestTable.this,"the \""+getColumnName(col)                    +"\" column accepts only integer values.");                }            }            else{                data[row][col]=value;                fireTableCellUpdated(row,col);            }            if(debug){                System.out.println("new value of data");                printDebugData();            }        }        private void printDebugData(){            int numRows=getRowCount();            int numCols=getColumnCount();            for(int i=0;i<numRows;i++){                System.out.print("   row  "+i+":");                for(int j=0;j<numCols;j++){                  System.out.print("  "+data[i][j]);                }System.out.println();            }System.out.println("---------------------------"+                                  "----------------------");        }    }    public static void main(String[] args) {      TestTable f = new TestTable();      f.pack();      f.addWindowListener(new WindowAdapter(){          public void windowClosing(WindowEvent e){            System.exit(0);          }        });      f.setVisible(true);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -