Java - 使用JTable的路径显示图像

时间:2012-05-23 13:04:19

标签: java swing jtable javax.imageio

我偶然发现了我的程序问题。

它的作用:在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(我假设它将在一个单独的类中运行?)

感谢您的时间,任何帮助都是适当的!

1 个答案:

答案 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()值

相关问题