我想跟隨MVC設計,並且在我的Controller類中創建MouseAdapter。我有一個與我的模型類中的GridLayout大小相同的數組。 所以當有人點擊網格中的某個JPanel時,我會讓MouseAdapter通知模型並執行一些操作。 JPanels在另一個類View中。獲取GridLayout中JPanel的位置/索引?
但爲此我需要該特定JPanel的索引/位置,是否有某種方法可以獲得它?
我檢查了的MouseEvent的的getX和傑蒂方法,其狀態:
的getX - 返回事件相對於源組件的水平x座標。
獲取Y - 返回事件相對於源組件的垂直y位置。
相對於源組件,這是否意味着JPanel的左上角是0,0?那麼我怎麼知道GridLayout中的哪個面板被點擊了?
我該如何放置我沒有的東西?我不知道哪個JPanel會被點擊,這就是爲什麼我需要索引。 當你添加GridLayout時,你可以做一些像setLayout(new GridLayout(8,8))。我需要這兩個數字用於點擊的特定JPanel。有沒有什麼方法通過網格循環,就好像它是一個數組,使用兩個for循環?然後可能比較每個元素與event.getSource()? JPanels可能並不是唯一的,所以可能無法這樣工作。 – 2011-01-13 16:34:20