用java创建表格的两种形式(1)
来源:互联网 发布:物理模拟软件 编辑:程序博客网 时间:2024/06/05 10:16
创建表格需创建数据模型,有两种数据模型DefaultTableModel和AbstractTableModel,DefaultTableModel是java_api中提供的类可以直接使用, AbstractTableModel是接口需覆盖其中的方法,不多,就三种方法:getRowCount(),getColumnCount(),getValueAt()。
1.用 DefaultTableModel创建表格
DefaultTableModel是java api中提供的类,用它可以很容易的创建表格,如创建4行3列的表格:
javax.swing .table.DefaultTableModel dtm = new javax.swing .table.DefaultTableModel(4,3);
javax.swing.JTable jt = new javax.swing.JTable(dtm);
好了表格创建好了,只需把 jt 加入窗口就可使用了。其他一些对表格的操作java api已经提供,可以直接查java api。
2.用 AbstractTableModel 创建表格
用AbstractTableModel创建表格需要写一个类实现接口,类中需要包含一个二维数组,二维数组中的内容就是表格中的内容,如:
public class TableValues extends AbstractTableModel{
public int[][] values = {{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8}}; //二维数组
public int getRowCount() { //覆盖getRowCount(),返回行数
return values.length;
}
public int getColumnCount() { //覆盖getColumnCount(),返回列数
return values[0].length;
}
public Object getValueAt(int rowIndex, int columnIndex) {//返回指定位置元素
return values[rowIndex][columnIndex];
}
}
接着就是如何来创建表格,如下:
javax.swing.JTable jt = new javax.swing.JTable(new TableValues());
下面的代码是包含两种数据模型DefaultTableModel和AbstractTableModel的例子:
import javax.swing.table.AbstractTableModel;
import java.awt.*;
import javax.swing.*;
public class TableValues extends AbstractTableModel{
public int[][] values = {{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8}};
public int getRowCount() {
return values.length;
}
public int getColumnCount() {
return values[0].length;
}
public Object getValueAt(int rowIndex, int columnIndex) {
return values[rowIndex][columnIndex];
}
}
public class SimpleTableTest extends JFrame{
public SimpleTableTest() {
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
TableValues tv = new TableValues();
table =new JTable(tv);
table1 = new JTable(new javax.swing.table.DefaultTableModel(4, 5));
pane.add(table,BorderLayout.CENTER);
pane.add(table1,BorderLayout.SOUTH);
}
protected JTable table,table1;
public static void main(String[] args){
SimpleTableTest stt = new SimpleTableTest();
stt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
stt.setSize(400, 200);
stt.setVisible(true);
}
}
执行结果:
- 用java创建表格的两种形式(1)
- 用java创建表格的两种形式(2)
- 线程创建的两种形式
- 怎么用jquery创建一个斑马线形式的表格
- JAVA连接数据库的两种形式-源代码
- java单例模式的两种形式
- 图解java中单例设计模式的两种形式
- Java中关于String赋值的两种形式
- java中for循环的两种形式
- Java Timer组件的两种实现形式
- Java中文件存储的两种主要形式
- UIActivityIndicatorView的两种形式
- UIActivityIndicatorView的两种形式
- UIActivityIndicatorView的两种形式
- UIActivityIndicatorView的两种形式
- UIActivityIndicatorView的两种形式
- split 的两种形式
- UIActivityIndicatorView的两种形式
- 写不了笔记吗?
- 终于做完数据库的课程设计了
- Hibernate困惑之 状态变迁
- 什么是3G?
- 批量制作控件及其批量获取显示值
- 用java创建表格的两种形式(1)
- 统计代码行数
- 用java创建表格的两种形式(2)
- log4j 系统日志初体验
- 多表连接 isnull 函数
- c语言 动态数组
- 杀死进程
- java课设的悲剧和启示
- 【JavaScript】小技巧