作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我从 JTable
中选择一条记录时,我希望在 JLabel
中显示给定路径的图像。当我编写代码时:
private void profile_tableMouseClicked(java.awt.event.MouseEvent evt) {
DefaultTableModel model = (DefaultTableModel) profile_table.getModel();
dr_profile_image.setIcon((Icon)model.getValueAt(profile_table.getSelectedRow(),9));
}
我收到以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to javax.swing.Icon
最佳答案
抛出异常是因为您将 String
转换为 Icon
。 DefaultTableModel.getValueAt(int row, int col)
将 row,col 处的项目作为 Object
返回,其类类型是存储在表模型中的实例的类,在你的情况下是一个字符串
。如果该值是您要使用的图像文件的路径,那么您将需要从该路径创建一个Icon
。您可以使用 javax.swing.ImageIcon 来执行此操作:
import javax.swing.ImageIcon;
private void profile_tableMouseClicked(java.awt.event.MouseEvent evt)
{
DefaultTableModel model = (DefaultTableModel) profile_table.getModel();
dr_profile_image.setIcon(
new ImageIcon(model.getValueAt(profile_table.getSelectedRow(),9).toString());
}
关于java - 如何将图像路径转换为JLabel上的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32767961/
我是一名优秀的程序员,十分优秀!