Java中如何把数据绑定到控件上
在java中,连接数据库后,如何把查询到的结果反映到图形界面上,比如表格(Jtabel),文本框中,需要如何将数据结果和控件绑定?
回复:(mahayu)Java中如何把数据绑定到控件上
把结果反映在JTextField或JTextArea中比较简单一些,比如你查询的结果为(ResultSet)rs,内容为一行记录('03041290','John',23)只需获得该结果中的字段即可while(rs.next()){
String no = rs.getString(1);
String name = rs.getString(2);
int age = rs.getString(3);//----参数也可以为列名
//再用JTextField或JTextArea的setText()即可
}
如果把结果显示在JTable中,有一些麻烦,你要继承一个抽象的表格模型,大概是下面这样的
class DatabaseTable extends AbstractTableModel{
private ResultSet rs;
private ResultSetMetaData rsmd;
public DatabaseTable(ResultSet rs){
this.rs = rs;
try{
rsmd = rs.getMetaData();
}
catch(Exception e){
}
}
public String getColumnName(int column){
try{
return rsmd.getColumnName(column + 1);
}
catch(Exception e){
return null;
}
}
public int getRowCount(){
try{
rs.last();
return rs.getRow();
}
catch(Exception e){
return 0;
}
}
public int getColumnCount(){
try{
return rsmd.getColumnCount();
}
catch(Exception e){
return 0;
}
}
public Object getValueAt(int row,int column){
try{
rs.absolute(row + 1);
return rs.getObject(column + 1);
}
catch(Exception e){
return null;
}
}
}
然后就可以用JTable了
JTable myTable = new JTalbe(new DatabaseTable(rs));