簡體   English   中英

當調整JFrame的大小時,在JFrame上調整圖像和JPanel的大小

[英]Resizing images and JPanel on JFrame when JFrame get resized

我制作了一個包含三個jpanel的jframe,這三個面板將jframe分為三個相等的部分。 每個面板包含一個圖像。我想在框架從高到小尺寸調整大小時調整圖像和面板的大小。任何人都可以告訴我該怎么做。

將圖片放置為:

  1. 圖標/ ImageIconJLabel
  2. 您可以將JComponent或JPanel的paintComponentgetWidthgetHeight一起使用,而不用固定的像素大小
  3. 不用考慮調整大小,而是使用適當的LayoutManager將帶有圖像的JPanelsJLabels放置到JFrame ,例如GridLayout是最簡單的方法。

幾年前,我解決了這個問題。 只是在尋找代碼,但我找不到。

本質上,答案是您使用ComponentListener來查看Frame(或者可能更好,在每個面板上放一個)的大小是否已更改。 然后,您可以適當調整圖像的大小。 我是用BufferedImages完成的。 使用常規圖像,您需要創建一個新圖像並在新圖像上繪制舊圖像,但是要縮放。 (使用image.getGraphics和Graphics.drawImage

暫無
暫無

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

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