defaultTableModel标准使用方法
来源:互联网 发布:java无难事 编辑:程序博客网 时间:2024/05/22 13:13
package testDefaultModel;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;/** * 展示如何使用DefaultTableModel类创建表格 * * @author burns * */public class Test9 { JTable table = null; DefaultTableModel defaultModel = null; public Test9() { JFrame f = new JFrame(); Vector columnNames = createColumnNames(); Vector data = createTableModelData(); // 创建一个默认的表格模型 defaultModel = new DefaultTableModel(data, columnNames); table = new JTable(defaultModel); table.setPreferredScrollableViewportSize(new Dimension(400, 80)); JScrollPane tablePanel = new JScrollPane(table); JPanel buttonPanel = new JPanel(); JButton addRow = new JButton("增加行"); buttonPanel.add(addRow); addRow.addActionListener(new AddRowAction(defaultModel)); JButton deleteRow = new JButton("删除行"); buttonPanel.add(deleteRow); deleteRow.addActionListener(new DeleteRowAction(defaultModel)); generateTabelDataThread(); Container contentPane = f.getContentPane(); contentPane.add(buttonPanel, BorderLayout.NORTH); contentPane.add(tablePanel, BorderLayout.CENTER); f.setTitle("AddRemoveCells"); f.pack(); f.setVisible(true); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); } private void generateTabelDataThread() { GenerateDataThread t1 = new GenerateDataThread(); Thread t = new Thread(t1); t.start(); } private Vector createColumnNames() { Vector columnNames = new Vector(); columnNames.add("姓名"); columnNames.add("工号"); columnNames.add("出生年月"); columnNames.add("薪水"); return columnNames; } private Vector createTableModelData() { Vector rowData1 = new Vector(); rowData1.add("王鹏"); rowData1.add(new Integer(91)); rowData1.add(new Integer(1949)); rowData1.add(new Integer(1910)); Vector rowData2 = new Vector(); rowData2.add("朱学莲"); rowData2.add(new Integer(91)); rowData2.add(new Integer(1949)); rowData2.add(new Integer(1910)); Vector rowData3 = new Vector(); rowData3.add("梅婷"); rowData3.add(new Integer(91)); rowData3.add(new Integer(1949)); rowData3.add(new Integer(1910)); Vector rowData4 = new Vector(); rowData4.add("张凯"); rowData4.add(new Integer(91)); rowData4.add(new Integer(1949)); rowData4.add(new Integer(1910)); Vector data = new Vector(); data.add(rowData1); data.add(rowData2); data.add(rowData3); data.add(rowData4); return data; } public static void main(String[] args) { new Test9(); } class GenerateDataThread implements Runnable{ @Override public void run() { for (int i = 0; i < 100000; i++) { Vector rowData = new Vector(); rowData.add("name"+i); rowData.add(i); rowData.add(i); rowData.add(i); if(i%2000 == 0){ try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } defaultModel.insertRow(defaultModel.getRowCount(), rowData); } } }}
package testDefaultModel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.table.DefaultTableModel;public class DeleteRowAction implements ActionListener { private DefaultTableModel defaultModel; public DeleteRowAction(DefaultTableModel defaultModel) { this.defaultModel = defaultModel; } @Override public void actionPerformed(ActionEvent e) { int rowcount = defaultModel.getRowCount() - 1; defaultModel.removeRow(rowcount); }}
package testDefaultModel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.table.DefaultTableModel;public class AddRowAction implements ActionListener { DefaultTableModel defaultModel; public AddRowAction(DefaultTableModel defaultModel) { this.defaultModel = defaultModel; } @Override public void actionPerformed(ActionEvent e) { Object[] p = { "lvyuan", new Integer(91), new Integer(1949), new Integer(1910) }; defaultModel.insertRow(0, p); //用此种方法插入数据,不会造成表格闪动过快,用户的选择也不会丢失 }}
阅读全文
0 0
- defaultTableModel标准使用方法
- DefaultTableModel
- DefaultTableModel
- DefaultTableModel
- JTable DefaultTableModel
- 查询数据库得DefaultTableModel
- JAVA Swing.JTable.DefaultTableModel
- JTable关于DefaultTableModel
- DefaultTableModel(示例,出错代码)
- DefaultTableModel的用法
- header(Location)标准的使用方法
- 标准计算答案(java)-使用方法
- header(Location)标准的使用方法
- C++标准库 list使用方法
- C++ 标准库 vector 使用方法
- C++ 标准库 map 使用方法
- Python - 标准库的使用方法
- JTable 创建表格模型DefaultTableModel
- 关于ToolBar+DrawerLayout的小结
- win10+ubuntu17.04双系统安装
- mybatis报错
- 碎片和活动间进行通信
- 欢迎使用CSDN-markdown编辑器
- defaultTableModel标准使用方法
- Spring之bean加载源码阅读工程搭建
- R极简教程-12:交互式绘图
- ArcGIS for Android_离在线一体化核心技术基本流程
- Bayesian Reasoning and Machine Learning
- linux服务器进程信息查看命令
- 线性表的顺序存储与链式存储
- Joint SVD
- 生境适宜性出图技术过程