java - 拖动组件时更改其背景

标签 java swing drag-and-drop jpanel drag

我有一个 JPanel 配置为放置区,允许用户将文件放入其中以便进行分析。现在我想在将文件拖动到该面板上时更改该面板的背景颜色。

如何做到这一点?

最佳答案

一种方法是添加 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);
    }
});

关于java - 拖动组件时更改其背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45091615/

相关文章:

java - 是否可以在 jtable 中调用自动行排序器

java - 为什么 Java 在配置 JMX 时会打开 3 个端口?

java - 如何使方法的数组可访问

java - 如何在 Java 中绘制各种形状?我应该使用哪个库?

android-layout - Android:将项目从一个列表拖放到另一个列表

java - Java 中的自定义拖放

swift - NSCollectionView 内拖放示例

java - 为什么 .addView 会抛出这个父/子异常?

java - JPanel 添加背景

java - JTable 为所有单元格着色,而不仅仅是特定单元格