2014-02-10 98 views
2

我正在尋找一個擴展的JPanel來縮放它的孩子的渲染和鼠標事件。有沒有人知道一個可縮放的JPanel實現?

我試圖自己實現它,但沒有得到事件思考處理,因爲我不能覆蓋dispatchEvent()方法,因爲它是最終的。

我還試圖抓住事件與MouseListener/MouseMotionListener並重新調度使用dispatchEvent()但給了我一個堆棧溢出,並沒有解決問題。

縮放渲染和佈局調整大小工作正常。

有沒有人知道這個工作的實施?

+0

你看過magnifierui課嗎? –

+0

@PhilippSander是的,我做到了。它不能解決調度事件問題。我試圖用JXLayer UI和新的JLayer解決它,但沒有解決調度問題。 – Stephan

回答

0

好吧,我用它做了JXLayer使用MouseEventUI並覆蓋了方法AffineTransform getTransform(final JXLayer<? extends V> l)。我唯一的問題是現在的工具提示和popupmenu位置不轉換。

我不知道如何欺騙ToolTipManager。

2

根據具體要求,這可能會很棘手,但您可能想看看https://weblogs.java.net/blog/alexfromsun/archive/2006/07/jxtransformer_t.html(源代碼爲https://java.net/projects/swinghelper)。

+0

謝謝你的提示,但這比我的嘗試要糟得多。它也停止了很長一段時間。 – Stephan

+0

@Stephan jxtransformer不會爲你做什麼?過去,我成功地使用它來旋轉非方形組件。 – jackrabbit

+0

我得到了很多渲染問題,並沒有解決我的事件轉換問題。 – Stephan

相關問題