在JTable中显示图像 [英] Displaying Image in JTable
问题描述
我正在尝试将图像显示到JTable的第25列中:-为此,我编写了以下代码:-
I'm trying to display an Image into column No 25 of a JTable :- For that i wrote the below code :-
jTable1.getColumnModel().getColumn(25).setCellRenderer(jTable1.getDefaultRenderer(ImageIcon.class));
String query = "SELECT name,type,supplier, department, manufacturer, model, serial_no, description, location, broker, dop, installation_date, expiring_date, retiring_date,warranty_info, icost, rcost, aarea, voltage, wattage, amperage, eline, capacity, plink, notes, adding_date, modification_date from assets where company_code='" + ims.MainWindow.cc + "' and adding_date between '" + new java.sql.Date(df.parse(df.format(jXDatePicker1.getDate())).getTime()) + "' and '" + new java.sql.Date(df.parse(df.format(jXDatePicker2.getDate())).getTime()) + "'";
System.out.println(query);
ResultSet rs = st.executeQuery(query);
int xx = 1;
byte[] imagedata=null;
ImageIcon format=null;
java.awt.Image originalImage=null;
java.awt.Image scaledImage=null;
javax.swing.ImageIcon newIconImage=null;
while (rs.next()) {
if(rs.getBytes(24)!=null){
imagedata=rs.getBytes(24);
format = new ImageIcon(imagedata);
originalImage = format.getImage();
scaledImage = originalImage.getScaledInstance(268, 200, java.awt.Image.SCALE_SMOOTH);
newIconImage = new javax.swing.ImageIcon(scaledImage);
}
mod.addRow(new Object[]{xx, rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getString(9), rs.getString(10), rs.getString(11), rs.getString(12), rs.getString(13), rs.getString(14), rs.getString(15), rs.getString(16), rs.getString(17), rs.getString(18), rs.getString(19), rs.getString(20), rs.getString(21), rs.getString(22), rs.getString(23), newIconImage, rs.getString(25), rs.getString(26), rs.getString(27)});
xx++;
}
当我运行包含以下代码的框架时,而不是在图像"列中显示图像"列中的"javax.swing.ImageIcon@119537a"图标.请帮助
When i run the frame containing the below code ,instead of showing an Icon in the Image column "javax.swing.ImageIcon@119537a" is being shown in the image column . Pls help
推荐答案
当我运行包含以下代码的框架时,没有显示 正在图像"列中的图标"javax.swing.ImageIcon@119537a" 显示在图片列中.
When i run the frame containing the below code ,instead of showing an Icon in the Image column "javax.swing.ImageIcon@119537a" is being shown in the image column .
-
我认为必须为
正确的ColumnClass . oracle.com/javase/tutorial/uiswing/components/icon.html"rel =" nofollow noreferrer> Icon/ImageIcons(在这种情况下,并且仅此) I think that have to set proper ColumnClass for Icon/ImageIcons (in this case and only)
JTable知道其中的Icon/ImageIcons数据类型ColumnClass ,与
String
,Number
,Boolean
和ei相同这篇关于在JTable中显示图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!