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

📄 mytablemodel.java

📁 java绘图 java awt 经典绘图的例子,对于初学awt模块的人非常有帮助.
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package sortTable;import javax.swing.JOptionPane;import javax.swing.table.AbstractTableModel;class MyTableModel extends AbstractTableModel {    private boolean DEBUG = true;    final String[] columnNames = {"First Name",        "Last Name",        "Sport",        "# of Years",        "Vegetarian"    };    Object[][] data = {        {"Mary", "Campione",    "Snowboarding", new Integer(5), new Boolean(false)},        {"Alison", "Huml",    "Rowing", new Integer(3), new Boolean(true)},        {"Kathy", "Walrath",    "Chasing toddlers", new Integer(2), new Boolean(false)},        {"Sharon", "Zakhour",    "Speed reading", new Integer(20), new Boolean(true)},        {"Angela", "Lih",    "Teaching high school", new Integer(4), new Boolean(false)}    };    public int getColumnCount() {        return columnNames.length;    }    public int getRowCount() {        return data.length;    }    public String getColumnName(int col) {        return columnNames[col];    }    public Object getValueAt(int row, int col) {        return data[row][col];    }    /*     * JTable uses this method to determine the default renderer/     * editor for each cell.  If we didn't implement this method,     * then the last column would contain text ("true"/"false"),     * rather than a check box.     */    public Class getColumnClass(int c) {        return getValueAt(0, c).getClass();    }    /*     * Don't need to implement this method unless your table's     * editable.     */    public boolean isCellEditable(int row, int col) {        //Note that the data/cell address is constant,        //no matter where the cell appears onscreen.        if (col < 2) {            return false;        } else {            return true;        }    }    /*     * Don't need to implement this method unless your table's     * data can change.     */    public void setValueAt(Object value, int row, int col) {        if (DEBUG) {            System.out.println("Setting value at " + row + "," + col + " to " + value + " (an instance of " + value.getClass() + ")");        }        if (data[0][col] instanceof Integer && !(value instanceof Integer)) {            //With JFC/Swing 1.1 and JDK 1.2, we need to create            //an Integer from the value; otherwise, the column            //switches to contain Strings.  Starting with v 1.3,             //the table automatically converts value to an Integer,            //so you only need the code in the 'else' part of this            //'if' block.            try {                data[row][col] = new Integer(value.toString());                fireTableCellUpdated(row, col);            } catch (NumberFormatException e) {                JOptionPane.showMessageDialog(null,                        "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("--------------------------");    }    }

⌨️ 快捷键说明

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