理解できない問題がいくつかあります...ドラッグアンドドロップを受け入れるJListを使用してSwingJavaアプリケーションを作成しています。システムからJavaアプリケーション上でファイルまたはフォルダをドラッグしているときにカーソルを変更したい。
質問する
4386 次
2 に答える
4
私はそれを自分で見つけました...しかし答えてくれたクリントンに感謝します。これが私が使用したものです:
最初に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);
}
});
于 2009-12-22T13:21:40.957 に答える
1
以下は、ユーザーがJListの上にマウスを移動した場合にのみカーソルを変更します。
マウスリスナーとsetCursorメソッドを使用して、コンポーネント(つまり、JList)の上にマウスを置いたときにカーソルを変更できます。
基本的には、マウスリスナーをJListに追加し、setCursorを使用して、ユーザーがアプリケーションのコンポーネント(mouseEnteredおよびmouseExit)にマウスを合わせたときにカーソルを変更します。有効なものがJListにドラッグされている場合にのみカーソルを変更するには、ドラッグアンドドロップコードについて少し問い合わせる必要がある場合もあります。
これが少し役立つことを願っています。
于 2009-12-21T22:35:28.490 に答える