0

2 つのコンポーネントを持つ JPanel があります。1 つは JFXPanel と JLabel です。別のウィンドウで JTree から項目をドラッグすると、NPE 例外が発生します

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javafx.embed.swing.SwingDnD$2.dragDropEnd(SwingDnD.java:119)
    at java.awt.dnd.DragSource.processDragDropEnd(DragSource.java:769)
    at java.awt.dnd.DragSourceContext.dragDropEnd(DragSourceContext.java:437)
    at sun.awt.dnd.SunDragSourceContextPeer$EventDispatcher.run(SunDragSourceContextPeer.java:491)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:711)
    at java.awt.EventQueue.access$000(EventQueue.java:104)
    at java.awt.EventQueue$3.run(EventQueue.java:672)
    at java.awt.EventQueue$3.run(EventQueue.java:670)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:681)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

JFXPanel を削除しても例外は発生しません。JFXPanel が存在する場合、要素を JLabel または JFXPanel にドロップすると例外が発生します。

TransferHandler を実装してドラッグ アンド ドロップし、setTransferHandler を呼び出して JLalbel にインストールしました。

canImport から常に false を返す転送ハンドラを JFXPanel に設定しようとしましたが、これは何の違いもありません。

これを修正または回避するためのアイデアはありますか?

使用: Linux ボックス上の Java(TM) SE ランタイム環境 (ビルド 1.7.0_06-b24)

4

1 に答える 1

3

その問題を追跡する Jira の問題があります: http://javafx-jira.kenai.com/browse/RT-21836

現在、2.2.2 候補としてマークされているため、JavaFX 2.2.2 アップデートで修正される可能性があります。また、JIRA がメンテナンスから戻ったら、ぜひ投票してください。

于 2012-08-23T10:39:29.003 に答える