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

📄 mytablemodel.java

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 JAVA
字号:
package groovy.swing;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.table.AbstractTableModel;/**  * A sample table model * * @author <a href="mailto:james@coredevelopers.net">James Strachan</a> * @version $Revision: 1.3 $ */public class MyTableModel extends AbstractTableModel {    private static final Logger log = Logger.getLogger(MyTableModel.class.getName());    public MyTableModel() {    }    final String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian" };    final 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)            }, {            "Mark", "Andrews", "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 (log.isLoggable(Level.FINE)) {            log.fine(                "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.                                                      //XXX: See TableEditDemo.java for a better solution!!!            try {                data[row][col] = new Integer(value.toString());                fireTableCellUpdated(row, col);            }            catch (NumberFormatException e) {                log.log(Level.SEVERE, "The \"" + getColumnName(col) + "\" column accepts only integer values.");            }        }        else {            data[row][col] = value;            fireTableCellUpdated(row, col);        }    }}

⌨️ 快捷键说明

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