Java 实现文件拖放;用LWjGL滴下

Java 实现文件拖放;用LWjGL滴下,java,drag-and-drop,awt,lwjgl,kotlin,Java,Drag And Drop,Awt,Lwjgl,Kotlin,我想问一下如何使用LWjGL实现文件拖放。 我不太擅长AWT,所以我尝试搜索一些代码示例,发现我需要创建DropTarget对象,并为他提供一个DropTargetListener实现。我也不确定应该使用什么作为组件,我找到了Display.getParent()方法,它为我们提供了一个组件,但它通常返回null。在那之后,我不知道我的DropTarget对象该怎么办 我的代码(由于未打印任何内容,因此似乎无法工作): 以下几点对我来说很好:也许组件本身有问题。显示器安装在什么上?是的,它在基于

我想问一下如何使用LWjGL实现文件拖放。 我不太擅长AWT,所以我尝试搜索一些代码示例,发现我需要创建
DropTarget
对象,并为他提供一个
DropTargetListener
实现。我也不确定应该使用什么作为组件,我找到了
Display.getParent()
方法,它为我们提供了一个组件,但它通常返回
null
。在那之后,我不知道我的DropTarget对象该怎么办

我的代码(由于未打印任何内容,因此似乎无法工作):


以下几点对我来说很好:也许组件本身有问题。显示器安装在什么上?是的,它在基于Swing的应用程序中工作。但我正在编写LWjGL(OpenGLWrapperforJava)应用程序,无法访问JFrame
    import java.awt.dnd.*
    import org.lwjgl.opengl.Display

    ...

    var dropListener =  object : DropTargetListener{
        override fun drop(dtde: DropTargetDropEvent?) {
            println("drop()")
        }

        override fun dragExit(dte: DropTargetEvent?) {
            println("dragExit()")
        }

        override fun dropActionChanged(dtde: DropTargetDragEvent?) {
            println("dropActionChanged()")
        }

        override fun dragEnter(dtde: DropTargetDragEvent?) {
            println("dragEnter()")
        }

        override fun dragOver(dtde: DropTargetDragEvent?) {
            println("dragOver()")
        }
    }

    var dropTarget = DropTarget(Display.getParent(), DnDConstants.ACTION_COPY_OR_MOVE, dropListener, true)