2013-10-25 40 views
0

我是Java中的一個完整的n00b。JLabels中的圖片總是和標籤一樣大

我來自VB.Net,所以我有一些期望。

無論如何,我將我的VB應用程序移植到Java,使其可用於Mac OS和Ubuntu/Linux用戶。 我希望這是一個1對1的端口,包括設計。這是我選擇使用NetBeans的原因。

我已經創建了一些標籤,並且通過設計師添加了我的資源中的圖片,但它們顯然固定在尺寸上。在VB中,我可以拉伸圖片,以便它們適合標籤/ PictureBoxes,但在Java JFrame中,我還沒有找到一種方法來實現這一點。

有沒有辦法做到這一點?如果是這樣,怎麼樣?

在此先感謝您的幫助。

Lg都 擊敗

+0

請相關代碼添加到您的問題 – Ani

回答

0

我可以伸展圖片

拉伸從來都不是一個真正的好主意,因爲那時的圖像會變得像素化。沒有直接的方式來動態拉伸Java中的圖像,您需要編寫自定義代碼。

一種方法是使用Darryl的Stretch Icon,這將允許圖標伸展以填充標籤大小,因爲它的大小根據佈局管理器確定的標籤可用空間而變化。

另一種是在自定義組件上自定義繪製圖像。

g.drawImage(image, 0, 0, getWidth(), getHeight(), this); 

如果你想讀取圖像後靜態地縮放圖像,那麼你可以使用:

Image.getScaledInstance(...); 
+0

我這是通過重寫的paintComponent(),並用做親自從未遇到拉伸問題。可能是因爲我試圖保持方面。但感謝您的建議。我會檢查出來的! – SimonC

+0

是的,當然這取決於圖像的大小和拉伸程度。 – camickr