Java如何在Swing中更改光标形状?

使用以下示例,可以在Java Swing桌面应用程序中更改鼠标光标的形状。光标由java.awt.Cursor类表示。创建一个Cursor使用new运算符的实例,并将游标类型传递给Cursor类构造函数。

我们可以改变Swing对象(JLabel,JTextArea,JButton使用等)光标setCursor()方法。在下面的代码段中,为演示起见,我们更改的光标JFrame。当鼠标指针/光标位于框架内时,形状将发生变化。

java.awt.Cursor类中定义的游标形状的集合,例如:

  • Cursor.DEFAULT_CURSOR

  • Cursor.HAND_CURSOR

  • Cursor.CROSSHAIR_CURSOR

  • Cursor.WAIT_CURSOR

  • 等等

package org.nhooo.example.swing;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import java.awt.Cursor;

public class ChangeCursorDemo extends JFrame {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            ChangeCursorDemo frame = new ChangeCursorDemo();
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.setSize(250, 250);

            // 在这里,我们创建一个手形的光标!
            Cursor cursor = new Cursor(Cursor.HAND_CURSOR);
            frame.setCursor(cursor);
            frame.setVisible(true);
        });
    }
}