我需要對JScrollPane
中包含的JDesktopPane
執行縮放。通過覆蓋paintComponent(...)
方法並調用scale(double,double)
,我已事先獲得成功縮放。縮放和縮放
這是不正常工作:所述JInternalFrame
的和JPanel
的規模按預期運行,但MouseListener
的用於JLabel
的並且這樣的寄存器在預縮放位置。我能做什麼?謝謝你的閱讀。
我需要對JScrollPane
中包含的JDesktopPane
執行縮放。通過覆蓋paintComponent(...)
方法並調用scale(double,double)
,我已事先獲得成功縮放。縮放和縮放
這是不正常工作:所述JInternalFrame
的和JPanel
的規模按預期運行,但MouseListener
的用於JLabel
的並且這樣的寄存器在預縮放位置。我能做什麼?謝謝你的閱讀。
ScaledPanel
展示瞭如何使用明確的變換方法來擴展鼠標座標:scaleX
,scaleY
,unScaleX
和unScaleY
。或者,您可以使用反轉換,如here所示。
我已經知道如何縮放鼠標座標,這不是問題。但無論如何感謝。 –
啊,我現在看到:你要看'mouseMoved()'並縮放座標以確定你自己的'mouseEntered()'。 – trashgod
屏幕上有很多移動件,我希望我不必訴諸'碰撞檢測'。但好的,可能沒有更好的方法。 –
你不能縮放鼠標座標嗎? – Heisenbug
對於帶有mouseListener的jlabel,mouseEntered(),mouseExited()...將其所有方法註冊到未縮放的位置。做一些像mouseEvent.getX()/ scaleFactor這樣的鼠標座標縮放並不能解決這個問題。 –