[英]How to populate the data to Jtable from database directly
我已经显示了Jtable取决于数据库中的特定列,而我的jtable中的最后两列是图像字段。如何在不影响最后两列的情况下动态更改该列。请告诉我如何操作。
Use Vector
from java.util.Collection
使用
java.util.Collection
Vector
See this example from http://www.roseindia.com 请参阅 http://www.roseindia.com上的 此示例
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.TableColumn;
public class JTableResultSet {
public static void main(String[] args) {
Vector columnNames = new Vector();
Vector data = new Vector();
JPanel panel = new JPanel(); //
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
String sql = "Select name,address from user";
Statement statement = con.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
ResultSetMetaData metaData = resultSet.getMetaData();
int columns = metaData.getColumnCount();
for (int i = 1; i <= columns; i++) {
columnNames.addElement(metaData.getColumnName(i));
}
while (resultSet.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++) {
row.addElement(resultSet.getObject(i));
}
data.addElement(row);
}
resultSet.close();
statement.close();
} catch (Exception e) {
System.out.println(e);
}
JTable table = new JTable(data, columnNames);
TableColumn column;
for (int i = 0; i < table.getColumnCount(); i++) {
column = table.getColumnModel().getColumn(i);
column.setMaxWidth(250);
}
JScrollPane scrollPane = new JScrollPane(table); panel.add(scrollPane);
JFrame frame = new JFrame();
frame.add(panel); //adding panel to the frame
frame.setSize(600, 400); //setting frame size
frame.setVisible(true); //setting visibility true
}
}
TableModel.setValueAt(Objet value, int row, int col)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.