Swing JTable 简单使用

来源:互联网 发布:汽车分期2016年数据 编辑:程序博客网 时间:2024/05/21 14:55

JTable的使用体现一种MVC的设计模式

main.java

package testtable;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;public class KCB {    public static void main(String[] args) {        JFrame frame = new JFrame();        JTable table = new JTable(new KCBData()); // 创建JTable示例,传入TableModel        JScrollPane pane = new JScrollPane(table); // 实现滚动        frame.add(pane);        frame.pack();        frame.setVisible(true);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }}

KCBData.java

/** * TableModel实现类 */package testtable;import javax.swing.event.TableModelListener;import javax.swing.table.TableModel;public class KCBData implements TableModel {    private String[] title = {            "周一", "周二", "周三", "周四", "周五",            "周六", "周日",    };    private String[][] data = new String[8][7];    public KCBData() {        for (int i = 0; i < data.length; i++) {            for (int j = 0; j < data[i].length; j++) {                data[i][j] = "";            }        }    }    @Override    public void addTableModelListener(TableModelListener arg0) {        // TODO Auto-generated method stub    }    @Override    public Class<?> getColumnClass(int arg0) {        // TODO Auto-generated method stub        return String.class;    }    @Override    public int getColumnCount() {        // TODO Auto-generated method stub        return 7;    }    @Override    public String getColumnName(int arg0) {        // TODO Auto-generated method stub        return title[arg0];    }    @Override    public int getRowCount() {        // TODO Auto-generated method stub        return 8;    }    @Override    public Object getValueAt(int arg0, int arg1) {        // TODO Auto-generated method stub        return data[arg0][arg1];    }    @Override    public boolean isCellEditable(int arg0, int arg1) {        // TODO Auto-generated method stub        return true;    }    @Override    public void removeTableModelListener(TableModelListener arg0) {        // TODO Auto-generated method stub    }    @Override    public void setValueAt(Object arg0, int arg1, int arg2) {        // TODO Auto-generated method stub        data[arg1][arg2] = (String)arg0;    }}