簡體   English   中英

根據用戶選擇的圖像更改JFrame的大小

[英]Change size of JFrame according to user selected image

我即將使用Java編寫程序,並且希望它具有下一個行為:

  • 從小屏幕開始,只有一個按鈕(我將轉到JMenuBar)供用戶選擇圖像文件(國家或州地圖)
  • 選擇圖像文件后,我需要將框架調整為所選圖像的大小,然后將圖像作為背景。
  • 當用戶單擊框架內的某個位置(單擊州或城市)時,程序將必須在其中創建視覺對象,該坐標中的圓形,正方形或任何形式。
  • 這些對象中還需要一個偵聽器來知道何時單擊它們。

摘要:用戶必須選擇圖像並在其上繪制圖形

我不要求代碼執行此操作。 自從我閱讀以來,我想對使用哪些組件來實現這一點有一些想法,並且有很多方法可以設置背景圖像和內容。 但是,考慮到需求,您能推薦我使用哪些組件嗎? 由於只給了我大約一個星期的時間來編寫此代碼,所以我時間不多了,否則我會自己嘗試所有替代方法。

一些答案,例如:“使用標簽設置背景,然后通過這種方式調整框架的大小:(一些東西),然后您可以創建一個從JLabel擴展的類,以使用偵聽器創建圓圈。...”足夠的幫助

我希望我很清楚,歡迎任何想法

非常感謝!

如果要使用“ JFrame”,則一定要使用Swing JFrames JPanels和JLabel(以及所需的任何其他JComponents)來完成此任務。 僅使用一個JFrame。 將JPanel用作JFrame的內容窗格/背景,然后將其他所有內容添加到其中。 但是我也建議學習和使用JavaFX,因為它是最新的,並且我認為使用JavaFX做這樣的事情將是最容易的。 但是,如果您只有一個星期並且知道一些搖擺,請使用您所知道的。 如果您需要更多信息,請發布一些代碼。 或者問一個更直接的問題。

如果您要堅持使用Swing,則可以使用JFileChooser選擇圖像。 獲得圖像后,您可以使用frame.setSize(image.getWidth(), image.getHeight());輕松調整JFrame的大小frame.setSize(image.getWidth(), image.getHeight());

要在JFrame中監聽鼠標單擊,您需要使用MouseListener ,確保將其添加到框架中,但我總是忘記這樣做。

不確定您是否成功繪制了圖像/形狀。 如果不是,則需要使用JPanel ,如果需要其他幫助,請檢查此主題

暫無
暫無

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

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