您好我想打印到作为网址的表格图片中的单元格。我将url存储在我的数据库表数据中作为文本。 我把我正在使用的方法用于打印其他列中的其余数据,我想添加另一个带有图像链接的列。
任何帮助都会很好。
public void SearchMovie() throws SQLException {
try {
Connection con = null;
ResultSet rs = null;
Statement st = null;
String Genre = ComboGenero.getSelectedItem().toString();
String Era = ComboEra.getSelectedItem().toString();
String Clsssification = ComboClasification.getSelectedItem().toString();
String sql = "select Poster,Title,Year,Country ,imdb ,Trailer from movie where Genre ='" + Genre + "'";
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/whichmovie", "Asis", "dekrayat24");
System.out.println("Conectado a la base de datos SQLite");
st = con.createStatement();
rs = st.executeQuery(sql);
jTable1.setDefaultRenderer(Object.class, new IconCellRenderer());
DefaultTableModel model = new DefaultTableModel();
this.jTable1.setModel(model);
// Donde 50 es el tamaño que querramos en la celda según lo q necesitemos
jTable1.setRowHeight(55);
jTable1.setCellSelectionEnabled(true);
ResultSetMetaData rsMD = rs.getMetaData();
int numcolumnas = rsMD.getColumnCount();
for (int x = 1; x <= numcolumnas; x++) {
model.addColumn(rsMD.getColumnLabel(x));
}
if (!rs.next()) {
ResultadosLabel.setText("No Movies found ");
} else {
do {
Object[] fila = new Object[numcolumnas];
for (int i = 0; i < numcolumnas; i++) {
fila[i] = rs.getObject(i + 1);
byte[] imagedataCover = rs.getBytes("Poster");
format = new ImageIcon(imagedataCover);
byte[] imagedataCountry = rs.getBytes("Country");
format2 = new ImageIcon(imagedataCountry);
fila[0] = new JLabel(format);
fila[3] = new JLabel(format2);
ResultadosLabel.setText(i - 2 + " " + "Movies found ");
}
model.addRow(fila);
setAnchoColumnas();
} while (rs.next());
rs.close();
st.close();
con.close();
}
} catch (ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
}
答案 0 :(得分:0)
定义表模型时,需要定义列数 而不是使用DefaultTableModel的默认构造函数。你可以使用以下内容。
public DefaultTableModel(Object[][] data, Object[] columnNames) {
setDataVector(data, columnNames);
}
这只是DefaultTableModel类的一个片段,有关详细信息,请参阅java文档。
你也可以参考这个做类似事情的例子,可以帮到你