生活随笔
收集整理的這篇文章主要介紹了
Java,图片在table中显示并缩放2.0
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第二天更新……
先說(shuō)一下昨天socket傳輸不同類(lèi)型的接收,我的解決辦法——拋出異常
https://blog.csdn.net/everything002/article/details/107549371
ois
= new ObjectInputStream(socket
.getInputStream());Object temp
= ois
.readObject();try {product
= (Product
) temp
;}catch (ClassCastException e
) {pros
= (ArrayList
<Product>)temp
;}
回到今天的主題!
protected JTable table
= new JTable(){public Class
getColumnClass(int column
){return getValueAt(0, column
).getClass();}};
這里使用了渲染器,將得到的圖片路徑渲染成圖片……
不使用的話,table中只顯示res/apple.jpg。
String
[] thead
= new String[]{"水果編號(hào)","水果圖片", "圖片名稱(chēng)", "水果名稱(chēng)", "水果拼音","水果單價(jià)(/元)", "計(jì)價(jià)單位"};
Object
[][] tbody
=new Object[][]{{"1",new ImageIcon("res/apple.jpg"), "apple.jpg", "蘋(píng)果", "pg", "5.0", "kg"},{"2",new ImageIcon("res/pear.jpg"), "apple.jpg", "雪梨", "xl", "3.0", "kg"}};
TableModel data
= new DefaultTableModel(tbody
, thead
);table
.setModel(data
);
就可以在第二列顯示圖片——此時(shí)顯示的是原圖大小:
不符合實(shí)際使用,所以需要進(jìn)行縮放,形成縮略圖效果
ImageIcon image
= new ImageIcon("res/apple.jpg");ImageIcon image2
= new ImageIcon("res/pear.jpg");Image pic1
= image
.getImage();Image pic2
= image2
.getImage();pic1
= pic1
.getScaledInstance(50, 50, Image
.SCALE_DEFAULT
);pic2
= pic2
.getScaledInstance(50, 50, Image
.SCALE_DEFAULT
);image
.setImage(pic1
);image2
.setImage(pic2
);Object
[][] tbody
=new Object[][]{{"1",image
, "apple.jpg", "蘋(píng)果", "pg", "5.0", "kg"},{"2",image2
, "apple.jpg", "雪梨", "xl", "3.0", "kg"}};
效果:
這時(shí)候可以升級(jí)一下難度了,從數(shù)據(jù)庫(kù)獲取圖片放進(jìn)來(lái)……
相關(guān)的1.0文章:https://blog.csdn.net/everything002/article/details/106392551
這個(gè)使用的是InputStream 直接將圖片寫(xiě)入,不利于socket的流傳輸。
因?yàn)閷?shí)例化對(duì)象封裝InputStream類(lèi)型的數(shù)據(jù)傳輸會(huì)很麻煩,最明顯的問(wèn)題是你不知道哪張圖片應(yīng)該代表哪個(gè)實(shí)例化對(duì)象。(你不能product.getXXX()拿到這個(gè)對(duì)象的圖片)……
所以要使用byte[]存儲(chǔ)圖片數(shù)據(jù),明天更新3.0文章說(shuō)這個(gè)~
總結(jié)
以上是生活随笔為你收集整理的Java,图片在table中显示并缩放2.0的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。