我想问一下如何使用LWjGL实现文件拖放。
我对AWT不太满意,所以我试图搜索一些代码示例,发现我需要创建DropTarget
对象并为他提供DropTargetListener
实现。我也不确定我应该使用什么作为组件,我发现Display.getParent()
方法为我们提供了一个组件,但它通常会返回null
。我不知道在那之后如何处理我的DropTarget对象
我的代码(它似乎没有效果,因为没有打印):
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)