我遇到了一些问题,但是无法解决... 我正在编写一个使用JList的Swing Java应用程序,可以接受拖放操作。我想在从系统中拖动文件或文件夹到Java应用程序时更改光标。
我已经找到了答案...虽然感谢Clinton的回答。这是我使用的方法:
首先创建JList...大家都知道如何完成... 然后我添加了一个setDropTarget:
lstFiles.setDropTarget(new DropTarget()
{
@Override
public synchronized void drop(DropTargetDropEvent dtde)
{
this.changeToNormal();
//handle the drop... [...]
}
@Override
public synchronized void dragEnter(DropTargetDragEvent dtde)
{
//Change cursor...
Cursor cursor = new Cursor(Cursor.HAND_CURSOR);
setCursor(cursor);
//Change JList background...
lstFiles.setBackground(Color.LIGHT_GRAY);
}
@Override
public synchronized void dragExit(DropTargetEvent dtde)
{
this.changeToNormal();
}
private void changeToNormal()
{
//Set cursor to default.
Cursor cursor = new Cursor(Cursor.DEFAULT_CURSOR);
setCursor(cursor);
//Set background to normal...
lstFiles.setBackground(Color.WHITE);
}
});