【作者:孟祥月 博客:http://blog.csdn.net/mengxiangyue】
最近做项目的时候,需要用到table显示数据库中的数据,但是曾经没有学过Jtable的使用,所以只能自己找资料学习。下面把Jtable的简单使用分享一下。
在Java API中对于Jtable有几个构造方法,推荐使用带TableModel参数的构造方法。下面是第一个程序,带有注释基本都可以看懂。
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class Table1 extends JFrame
{
JTable table;
JScrollPane pane;
TableModel model;
//数据
Object[][] data = {{"张三","男",3},
{"李四","男",4},
{"小红","女",5}};
//列名
Object[] clomnName = {"姓名","性别","年龄"};
Table1()
{
super("表格测试程序");
init();
}
private void init()
{
//初始化TableModel,使用数据data,列名clomnName
model = new DefaultTableModel(data, clomnName)
{//设置表格中的数据不可以编辑
public boolean isCellEditable(int r,int c)
{
return false;
}
};
//使用上面的model作为参数初始化JTabel
table = new JTable(model);
//初始化JScrollPane
pane = new JScrollPane();
//将table添加到JScrollPane上 这里使用下面的第一种方法不能添加
//使用第一个先获得JViewPort对象,然后再添加
// pane.add(table);
pane.getViewport().add(table);
this.getContentPane().add(pane);
setSize(400,300);//设置Frame的大小
setResizable(false);//设置窗口不可以调整大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出时关闭窗口
setVisible(true);//设置窗口显示出来
}
public static void main(String[] args)
{
new Table1();
}
}
上面的代码创建了一个不可编辑的表格,注意在设置表格的不可以编辑的时候,我们可以只是设置一列、一行或者一个单元格,只要使对应的位置返回值为false就可以了。