
这个要从头说起就复杂了。我简单说一下吧。
首先,要把数据从库中取出来,假设你已经会了。
其次,创建一个表格模型,
DefaultTableModel model=new DefaultTableModel();
//创建表头
modelsetColumnIdentifiers(new Object[]{"日期/时间"," *** 作工","产品型号","数量"});
再次,添加数据
while(resultsnext())
{
String dt=resultsgetString("dt");
String name=resultsgetString("name");
String pname=resultsgetString("product");
int i=resultsgetInt("num");
//把以上数据添加到表格模型的一行中
modeladdRow(new Object[]{dt,name,pname,i});
}
最后,用模型生成表格
JTable table=new JTable(model);
当然,还有一些其它的 *** 作,比如把表格显示出来,表格的字体、行高等设置等等,不再一一赘述。
//按钮
JButton value,jb2;
value=new JButton("取值");
valueaddActionListener(this);
//动作
public void actionPerformed(ActionEvent e) {
String s=egetActionCommand();
if(sequals("取值")){
try{
Systemoutprintln(jtgetSelectedRow()); //获取行值
Systemoutprintln(jtgetSelectedColumn()); //获取列值
Systemoutprintln(jtgetValueAt(jtgetSelectedRow(), jtgetSelectedColumn())); //通过行值和列值 获得里面的value
}
catch(Exception ee){
Systemoutprintln("什么也没选中");
}
}
学习用的代码。。。 关键看 cmd 那里
一个类似的例子,从数据库里取数据放table里,请参考。
package Libary;import javaawtCursor;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
import javautilVector;
import javaxswing;
import javaxswingtableDefaultTableModel;
public class BorrowBookLog extends JFrame{
/
/
private static final long serialVersionUID = 5922888622610809963L;
String BBookName, BBookId;
JButton Borrow, Cancel;
Statement SearchStmt;
@SuppressWarnings({ "rawtypes", "unchecked" })
BorrowBookLog(){
ConDB CB3 = new ConDB();
CB3connectionDB();
try {
SearchStmt = CB3dbConncreateStatement();
} catch (SQLException e1) {
// TODO 自动生成的 catch 块
e1printStackTrace();
}
DefaultTableModel tableModel = new DefaultTableModel();
String[] tableHeads= {"图书编号","图书名称","借阅人", "借阅时间"};
Vector cell;
Vector row = new Vector();
Vector tableHeadName = new Vector();
for(int i = 0;i<tableHeadslength;i++){
tableHeadNameadd(tableHeads[i]);
}
try {
ResultSet s =SearchStmtexecuteQuery("select from BorrowedBooks where StudentId ="+ "'"+ StudentMainFrameName+"'");
while(snext()){
cell = new Vector();
celladd(sgetString("BookId"));
celladd(sgetString("BookName"));
celladd(sgetString("StudentId"));
celladd(sgetString("BorrowedDate"));
rowadd(cell);
BBookId = sgetString("BookId");
BBookName = sgetString("BookName");
}
} catch (SQLException e1) {
// TODO 自动生成的 catch 块
e1printStackTrace();
}
setTitle("查询结果");
tableModelsetDataVector(row, tableHeadName);
JTable table = new JTable(tableModel);
tablesetRowHeight(20);
tablesetCursor(new Cursor(12));
getContentPane()setLayout(null);
JScrollPane scrollPane = new JScrollPane(table);
scrollPanesetBounds(10, 10, 420, 200);
scrollPanesetCursor(new Cursor(12));
thisgetContentPane()add(scrollPane);
setLocation(450,220);
setSize(450,300);
setVisible(true);
}
public static void mian(String args[]){
}
}
读取数据库并遍历数据会吧:
Connection cnn=ResultSet rs=cnncreateStatement()executeQuery(sql);
DefaultTableModel dtm=(DefaultTableModel)myTablegetModel();
while (rsnext()) {
// 按数组方式添加
dtmaddRow(new String[]{rsgetString(0),rsgetString(1)});
}
需要先初始化列
defaultModelsetColumnIdentifiers(n);一行拿到defaultModel = new DefaultTableModel();的下方
看你代码应该是要构造这种函数
DefaultTableModel(Vector<Vector> data,Vector columnNames) 而你定义的BookInRecord显然不继承Vector而是ValueObject,所以转换失败报错了。
以上就是关于怎样将数据库的数据读取到JTable中全部的内容,包括:怎样将数据库的数据读取到JTable中、在java中去JTable的值、java swing如何把获取的文本框值添加到Table表格中,能否给个简单的例子,急用!急用!谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)