簡體   English   中英

Java圖標不會顯示兩次

[英]Java icon won't show twice

我正在制作一個小型Java應用程序,必須在名為picLabel的JLabel中顯示一些圖像。

我有一個Photo對象的JList(包含一個圖像的InputStream,從數據庫中讀取)。

以下是JList ValueChanged事件偵聽器的代碼:

private void photoListValueChanged(javax.swing.event.ListSelectionEvent evt) {     
    if (evt.getValueIsAdjusting() == false && photoList.getSelectedIndex() != -1) {
        photo = (Photo) photoList.getSelectedValue();
        BufferedImage image = ImageIO.read(photo.getContent()) ;
        if(image != null) {
            picLabel.setIcon(new ImageIcon(image));
        }
}

我第一次從列表中選擇每個元素時,它完美地工作。 但是,如果我再次選擇已經選擇的元素(並且圖像已經顯示),它就不會顯示圖像,而是將JLabel保留為之前的狀態。

我錯過了什么嗎?

一旦從輸入流中讀取了一次圖像,流就會結束,而第二次讀取則不會讀取任何內容。 Photo類應該從流中讀取並存儲作為字節數組讀取的所有內容,或者直接存儲為BufferedImage或ImageIcon。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM