java - 难以将图像添加到 JTable 单元格中
问题描述
我一直在编写一个简单的 JTable (Java) 来存储姓名、食物、饮料等。我试图将图像插入 JTable 但输出看起来很奇怪
这是用于从我的计算机中选择图像的按钮。
public static ImageIcon ResizeImage(String ImagePath)
{ JLabel text1 = new JLabel();
ImageIcon MyImage = new ImageIcon(ImagePath);
Image img = MyImage.getImage();
Image newImg = img.getScaledInstance(10,10, Image.SCALE_SMOOTH);
ImageIcon image = new ImageIcon(newImg);
return image;
}
btnChoose.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e)
{
JFileChooser file = new JFileChooser();
file.setCurrentDirectory(new File(System.getProperty("user.home")));
//filter the files
FileNameExtensionFilter filter = new FileNameExtensionFilter("*.Images", "jpg","gif","png");
file.addChoosableFileFilter(filter);
int result = file.showSaveDialog(null);
File selectedFile = file.getSelectedFile();
String path = selectedFile.getAbsolutePath();
text1.setIcon(ResizeImage(path));
}
} );
之后,这是我用来将数据插入 JTable 的添加按钮
Object[] row = new Object[6];
// button add row
btnAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
row[0]=text1.getIcon();
ImageIcon icon = new ImageIcon(row[0].toString());
text1.setIcon(icon);
row[1] = textName.getText();
row[2] = textFoodG.getText();
row[3] = textDate.getText();
row[4] = textDay.getText();
row[5] = textDrink.getText();
// add row to the model
model.addRow(row);}});
样本输出:
为什么图片栏会出现“javax.swing...”?有没有办法让图像出现在单元格内?对于我在研究中出现的任何错误,我深表歉意,但我感到非常沮丧,以至于我无法弄清楚我的代码出了什么问题。
解决方案
推荐阅读
- c# - 使用内部编译器和使用 Microsoft.CodeAnalysis.CSharp.Scripting 编译时如何引用外部项目 DLL;
- python - 反脏话系统将非脏话列入黑名单
- forms - 在前台添加自定义表单
- php - Wordpress如何按订单输入值排序
- flutter - Flutter:http.client 总是返回 null
- mongodb - 如何计算 3 种不同型号的物品?
- c - 数组只删除一半的重复值
- progressive-web-apps - 如何在 Workbox generateSW() 中设置 runtimeCaching 的过期时间?
- swift - 什么是正确的数组排序语法?
- ios - AWS - SNS 端点为 iOS 自行禁用 - Apple 设备(推送通知失败)