gpt4 book ai didi

java - 将 Blob 值从 JTable 单元格显示到 JLabel

转载 作者:行者123 更新时间:2023-11-30 08:13:31 24 4
gpt4 key购买 nike

我有一个 ListSelectionListener,它从某个行单元格获取 Blob 值并将其加载到 JLabel。这里的问题是,每次我单击一行时,它都会在突出显示该行之前将图像加载到 JLabel。并且加载图像时存在延迟。我该如何解决这个问题?

      mytable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){

@Override
public void valueChanged(ListSelectionEvent e) {

BufferedImage buffImg = null;
ImageIcon imgIcon = null;
Blob blob = (Blob) tableItem.getValueAt(selectedRow, 0);
InputStream is = blob.getBinaryStream();
buffImg = ImageIO.read(is);
imgIcon = new ImageIcon(buffImg.getScaledInstance(label.getWidth(), label.getHeight(),
Image.SCALE_SMOOTH));


label.setIcon(imgIcon);
}

});

最佳答案

解决问题,查询ListSelectionEvent.getValueIsAdjusting() & 仅当为 false 时才进行。如果选择一行并且用户单击另一行,则会触发两个事件。一个用于取消选择第一行,第二个用于选择备用行。

<小时/>

顺便说一句。我强烈建议将 Image 存储在表中,而不是 Blob - 这样表行选择上就不会存在长时间运行的代码。

关于java - 将 Blob 值从 JTable 单元格显示到 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com