当前位置: 首页 > 面试题库 >

放入Java应用程序时如何更改光标

解修然
2023-03-14
问题内容

我遇到了一些我无法解决的问题…我正在编写带有JList的Swing
Java应用程序,该JList可以接受拖放操作。我想在通过Java应用程序从系统中拖动文件或文件夹时更改光标。


问题答案:

我自己找到了……不过感谢克林顿的回答。这是我使用的:

首先创建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);
    }
});


 类似资料:
  • 使用Material CDK库中的拖放行为,我试图在拖动元素时更改光标。 例如,在此StackBlitz中,光标悬停时为。我希望它在拖动时变为抓取。这方面的一个例子是在Google工作表中抓取一行时发生的情况: 读取样式化拖放组件的留档,看起来向这个类添加游标属性应该可以做到这一点: . cdk-drop-list-draging:当用户拖动项目时添加到cdkDropList的类。 代码如下所示:

  • 问题内容: 我有一个小控制面板,只是我做的一个小应用程序。我想最小化/使用系统图标上下控制面板,以及电池寿命,日期,网络等。 有人可以给我一个提示,链接到教程或阅读的东西吗? 问题答案: 从Java 6开始,and 类支持此功能。在Javadocs中有一个非常广泛的示例: 您也可以查看本文或此技术提示。

  • 我希望将一个图像从我的桌面拖放到我的JPanel/Jframe上,然后能够将该图像存储到一个BufferedImage对象中,并对其执行id喜欢的操作 有没有办法用MouseListener做到这一点? 这是一个虚构的完美世界的例子,我可以在其中做到这一点 我希望你能明白。不是在寻找超复杂的东西。我是个笨蛋,尽量简单谢谢:)

  • 问题内容: 我正在使用NetBeans,试图将熟悉的Java咖啡杯图标更改为我保存在jar文件中资源目录中的png文件。我发现许多不同的网页声称它们都有解决方案,但是到目前为止,它们都无法正常工作。 这是我目前所拥有的(省略try-catch块): 包含此代码的类在 com.xyz 包中,如果有区别的话。该类还扩展了JFrame。此代码在第一行上引发MalformedUrlException。 有

  • 问题内容: 当我以纵向模式启动我的应用程序时,它可以正常工作。然后我旋转到风景中,并按比例放大。为了使其能够在横向模式下正确缩放,我必须双击某物两次,首先将其一直放大(正常的双击行为),然后再次将其完全缩小(再次是正常的双击行为)。 。缩小时,它会缩小到横向模式的正确新比例。 切换回人像似乎更一致。也就是说,它会处理缩放,以便在方向变回纵向时缩放比例正确。 我想弄清楚这是否是错误?还是这可以用Ja

  • 问题内容: 我在JList中有一个单词列表。每次将鼠标光标指向一个单词时,我都希望光标变为手形光标。现在我的问题是该怎么做? 有人可以帮我解决这个问题吗? 问题答案: 在JList上使用MouseMotionListener来检测鼠标何时输入,然后调用将其转换为。 样例代码: