我偶然发现了我的程序问题。
它的作用:在JTable中侦听行选择,使用'getSelectedRow'来获取单元格的内容,如下所示:
public void valueChanged(ListSelectionEvent e) {
int row = resultTable.getSelectedRow();
String val = resultTable.getValueAt(row,2).toString();
System.out.println("The value of cell 2 at selected row is: " + val);
}
上面示例中未显示的是JTable的单元格2包含图像的本地路径,这些路径是从本地运行的MySQL数据库中获取的。
我想要它做什么:我希望使用JTable的单元格2中包含的路径,只要触发valueChanged(显示在上面),就可以在外部JFrame中绘制和显示图像。 / p>
考虑到上述情况(以及我在这方面相当新的事实),我如何将这个'val'传递给ImageIO.read(我假设它将在一个单独的类中运行?)
感谢您的时间,任何帮助都是适当的!
答案 0 :(得分:2)
对于JPEG图像,您并不需要ImageIO。只需添加它而不是System.out.println:
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JLabel label = new JLabel(new ImageIcon(val));
frame.setContentPane(label);
frame.pack();
frame.setVisible(true);
如果val参数包含有效路径,则会显示图像。
如果图像多次打开,请检查ListSelectionEvent的getValueIsAdjusting()值