[英]Matching Card Game, in Java The JButton won't show the Icon before removing it or changing Icon to null
[英]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.