DefaultTableModel
来源:互联网 发布:网络招聘话术技巧 编辑:程序博客网 时间:2024/05/20 09:49
DefaultTableModel
DefaultTableModel类是继承AbstractTableModel抽象类而来,且实现了getColumnCount(), getRowCount()与getValueAt()3个方法.因此在实际的使用上,DefaultTableModel比AbstractTableModel要来得简单许多,也较常被拿来使用.DefaultTableModel内部使用Vector来使用表格的数据,若佻所要显示的表格格式是比较单纯的变化,笔者建议使用DefaultTableModel类会来得方便也简单许多.若佻所要显示的数据模式非常复杂,例如我们所举的成绩表格外加学生选课信息等,像这类的表格通常显示的信息会因人面异,因此使用AbstractTableModel会比较容易设计些.
下面是DefaultTableModel的构造函数:
DefaultTableModel():建立一个DefaultTableModel,里面没有任何数据.
DefaultTableModel(int numRows,int numColumns):建立一个指定行列数的DefaultTableModel.
DefaultTableModel(Object[][] data,Object[] columnNames):建立一个DefaultTableModel,输入数据格式为Object Array.系统会自动调用setDataVector()方法来设置数据。
DefaultTableModel(Object[] columnNames,int numRows):建立一个DefaultTableModel,并具有Column Header名称与行数信息。
DefaultTableModel(Vector columnNames,int numRows):建立一个DefaultTableModel,并具有column Header名称与行数信息。
DefaultTableModel(Vector data,Vector columnNames):建立一个DefaultTableModel,输入数据格式为Vector.系统会自动调用setDataVector()方法来设置数据。
DefaultTableModel类提供相当多好用的方法,如之前我们谈论过的getColumnCount(),getRowCount(),getValueAt(),isCellEditable(),setValueAt()等方法,均可直接使用。且DefaultTableModel也提供了addColumn()与addRow()等方法,可让我们随时增加表格的数据。
</pre><pre name="code" class="java">import java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.Vector;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import javax.swing.table.TableColumnModel;public class DefaultModel implements ActionListener{private JTable table = null;private DefaultTableModel defaultModel = null;private JFrame f = null;private JPanel panel = null;public DefaultModel(){init();}private void init(){f = new JFrame();//table panelString[] name = {"字段 1","字段 2","字段 3","字段 4","字段 5"};String[][] data = new String[5][5];int value =1;for(int i=0; i<data.length; i++){for(int j=0; j<data[i].length ; j++)data[i][j] = String.valueOf(value++);}defaultModel = new DefaultTableModel(data,name);table=new JTable(defaultModel);table.setPreferredScrollableViewportSize(new Dimension(400, 80));JScrollPane s = new JScrollPane(table);//action panelpanel = new JPanel();JButton b = new JButton("增加行");panel.add(b);b.addActionListener(this);b = new JButton("增加列");panel.add(b);b.addActionListener(this);b = new JButton("删除行");panel.add(b);b.addActionListener(this);b = new JButton("删除列");panel.add(b);b.addActionListener(this);//content panel Container contentPane = f.getContentPane();contentPane.add(panel, BorderLayout.NORTH);contentPane.add(s, BorderLayout.CENTER);f.setTitle("AddRemoveCells");f.pack();f.setVisible(true);f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("增加列")) defaultModel.addColumn("增加列");else if(e.getActionCommand().equals("增加行")) defaultModel.addRow(new Vector());else if(e.getActionCommand().equals("删除列")){int columncount = defaultModel.getColumnCount()-1;if(columncount >= 0) { TableColumnModel columnModel = table.getColumnModel();TableColumn tableColumn = columnModel.getColumn(columncount);columnModel.removeColumn(tableColumn);defaultModel.setColumnCount(columncount);}}else if(e.getActionCommand().equals("删除行")){int rowcount = defaultModel.getRowCount()-1;if(rowcount >= 0){defaultModel.removeRow(rowcount);defaultModel.setRowCount(rowcount); }}table.revalidate();}public static void main(String args[]) {new DefaultModel();}}
- DefaultTableModel
- DefaultTableModel
- DefaultTableModel
- JTable DefaultTableModel
- 查询数据库得DefaultTableModel
- JAVA Swing.JTable.DefaultTableModel
- JTable关于DefaultTableModel
- DefaultTableModel(示例,出错代码)
- DefaultTableModel的用法
- defaultTableModel标准使用方法
- JTable 创建表格模型DefaultTableModel
- DefaultTableModel添加数据到Jtable
- 在DefaultTableModel中添加鼠标双击事件
- DefaultTableModel及JTable更新数据的问题
- 为什么这样使用DefaultTableModel会出错???
- Java Swing JTable 表格【6:表格模型DefaultTableModel】
- 用java中DefaultTableModel类实现对表格的增删操作
- 用java中DefaultTableModel类实现对表格的增删操作
- Gson 解析json的使用
- struts2-hibernate-Spring 的工作流程?
- 基于nio的java网络通信框架介绍和选择
- C指针编程之道 ---第五次笔记
- UML学习笔记(二)
- DefaultTableModel
- iOS Developer:真机测试
- ios之数据库的拷贝
- 计算机核心期刊排名
- 设计一个复数类Complex,并计算复数的和、差
- leetcode:Binary Tree Zigzag Level Order Traversal
- MongoDB
- Java IO读写大文件的几种方式及测试 (2012-04-21 22:58:06)
- 日志14-12-8