2012-03-19 69 views
0

我將自定義面板添加到JScrollPane。我還有另一套「工具」,將自己附加到我的自定義面板上。問題是,在這些工具中,它調用。通常情況下,一切都會正常運行,但是當我把它放在JScrollPane中時,它根本就不起作用。我的推論是JScrollPane從未將窗口焦點賦予其子組件。有沒有一種方法可以解決這個問題,而無需更改我的附件程序?我希望我的'工具'專門附加到我的自定義面板上,而不是滾動窗格。addMouseListener()將無法在JScrollPane下使用JPanel

+3

請顯示sscce展示問題 – kleopatra 2012-03-19 16:00:11

+3

可以請您將問題翻譯爲[SSCCE](http://sscce.org/),否則太難以重現 – mKorbel 2012-03-19 16:00:59

+3

它適用於我,當我將MouseListeners添加到JScrollPane所擁有的組件中,因此代碼中的不同之處在於阻止其工作。這就是爲什麼我建議你創建一個[SSCCE](http://SSCCE.org),這樣我們就可以識別問題(儘管你創建演示代碼很可能會導致你的解決方案出現問題)。 – 2012-03-19 16:03:24

回答

1

我希望我能理解這個問題。 如何將MouseListener添加到JScrollPane然後將事件分派給JPanel? Somenthing這樣的:

//JScrollPane Listener 
    public void mousePressed(MouseEvent me) { 
    jpanel.dispatchEvent(me); 
    } 

這是一個有點棘手,但這樣你就不必改變JPanel的監聽器。