我們可以透過 Java Swing 來改變游標嗎?


是的,我們可以更改 Java 中的預設光標表示。我們首先建立一個按鈕元件 -

JButton button = new JButton("Button with two borders");

每當使用者將滑鼠游標停留在上述按鈕元件上時,游標就會更改為手形游標 -

Cursor cursor = button.getCursor();
button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

以下是一個更改游標的示例 -

示例

package my;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
public class SwingDemo {
   public static void main(String args[]) {
      JFrame frame = new JFrame("Demo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      Border raisedBorder = new EtchedBorder(EtchedBorder.RAISED);
      LineBorder lineBorder = new LineBorder(Color.red);
      TitledBorder titleBorder = new TitledBorder("Demo Title");
      Border border = BorderFactory.createCompoundBorder(lineBorder, titleBorder);
      JButton raisedButton = new JButton("Raised Border");
      raisedButton.setBorder(raisedBorder);
      JButton button = new JButton("Button with two borders");
      button.setBorder(border);
      Cursor cursor = button.getCursor();
      button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
      Container contentPane = frame.getContentPane();
      contentPane.add(raisedButton,BorderLayout.WEST);
      contentPane.add(button,BorderLayout.EAST);
      frame.setSize(600, 300);
      frame.setVisible(true);
   }
}

輸出

輸出如下。當您將游標停留在具有兩個邊框的按鈕上時,則手形游標將如下所示可見 -

更新日期:30-Jul-2019

1K+ 瀏覽量

開始你的 職業

完成教程以獲得認證

開始
廣告
© . All rights reserved.