2017-07-13 2 views
1

私はJPanelをドロップゾーンとして設定しているため、ユーザーは分析のためにファイルをドロップできます。今、私は、ファイルがその上にドラッグされているときにそのパネルの背景色を変更したいと思います。ドラッグしてコンポーネントの背景を変更する

どうすればいいですか?

+0

質問は、https://docs.oracle.com/javase/tutorial/uiswing/dnd/intro.htmlをチェックすることにより、広すぎるスタートです、 JPanel(.setBackground)の背景を変更することはかなり簡単です –

+1

[それはあなたがそれを行う方法の1つです](https://stackoverflow.com/questions/13597233/how-to-drag-and-drop-ファイルからのディレクトリのJava/13597635#13597635) - あなたは単に背景色を目的の色に設定することで同じ効果を得ることができますが、これはアルファベースの色を可能にします – MadProgrammer

+0

ありがとうございました! –

答えて

2

1つの方法は、DropTargetを追加することです。このような何か:あなたはドラッグアンドドロップ機能を実装したとき

yourJpanel.setDropTarget(new DropTarget() { 

    @Override 
    public synchronized void drop(DropTargetDropEvent dtde) 
    { 
     this.changeToNormal(); 
     //handle the drop .... 
    } 

    @Override 
    public synchronized void dragEnter(DropTargetDragEvent dtde){ 

     //Change JPANEL background... 
     yourJpanel.setBackground(Color.RED); 
    } 

    @Override 
     public synchronized void dragExit(DropTargetEvent dtde) { 
     this.changeToNormal(); 
    } 

    private void changeToNormal() { 
     //Set background to normal... 
     yourJpanel.setBackground(Color.WHITE); 
    } 
}); 
+0

ありがとう!それは完全に動作します! –

関連する問題