我想製作類似於圖編輯器的應用程序 - 允許用戶在畫布上創建,查看和編輯一組形狀的應用程序。我的GUI基本上有三個部分 - 標準的JMenuBar,右側的一個JPanel,用於顯示有關形狀的信息以及應該用於形狀可視化的JPanel。Java Swing/AWT - 使用上下文菜單繪製對象
除此之外,我有一個定義形狀的包。爲了簡單起見,只有一個Square,包含以下信息:畫布上的座標,大小,用戶定義的名稱和描述,顏色。 項目的主要類(JFrame的擴展)包含正方形列表。
現在,我可以通過使用drawrect和whatnot在JPanel中簡單地繪製圖形來形象化這些圖形,但是我想創建一個交互式編輯器 - 如果用戶右鍵單擊可視形狀,會彈出一個上下文菜單允許他移動它,改變它的屬性或完全刪除它的形狀。單擊JPanel中的空白區域將允許用戶(再次通過菜單)創建新形狀。
是否有自動的方式來做到這一點,而不是手動保持矩陣映射畫布的每個像素爲特定的形狀,並在右擊時檢查它?例如,我可以在JPanel中畫一個這樣的東西,然後點擊... 一個相關的問題,當我在JPanel中編輯形狀時,如何訪問主應用程序類中的Square/Circle列表,這樣我才能真正改變它?我想這很簡單,但現在我不知道我該怎麼做。
請點我在正確的方向,什麼都可以理解,技巧,示例,鏈接到相關教程...