Java AWT |带有示例的光标类
Cursor 类是Java AWT 包的一部分,用于创建自定义游标或继承系统或预定义的游标。
Cursor 类主要用于封装鼠标光标的位图表示。
游标类的构造函数是:
- Cursor(int t) : 创建一个具有指定类的游标
- Cursor(String name) :创建具有指定名称的自定义光标。
常用方法
method | explanation |
---|---|
getDefaultCursor() | return the system default cursor. |
getName() | returns the name of this cursor. |
getPredefinedCursor(int t) | returns a cursor object with the specified predefined type. |
getSystemCustomCursor(String n) | returns a system-specific custom cursor object matching the specified name. |
getType() | returns the type for this cursor |
toString() | returns a string representation of this cursor. |
createCustomCursor(Image i, Point p, String name) | create a custom cursor with a image and name specified . |
1.程序将一些预定义和系统光标应用于组件(标签)
// Java Program to apply some predefined and system cursors to components (label)
import java.awt.*;
import javax.swing.*;
class cursor extends JFrame {
// frame
static JFrame f;
// label
static Label l, l1, l2;
// default constructor
cursor()
{
}
// main class
public static void main(String args[])
{
try {
// create a frame
f = new JFrame("cursor");
// create e panel
JPanel p = new JPanel();
// create labels
l = new Label("label one");
l1 = new Label("label two");
l2 = new Label("label three");
// create cursors
Cursor c = new Cursor(CROSSHAIR_CURSOR);
Cursor c1 = new Cursor(HAND_CURSOR);
// get System cursor
Cursor c2 = Cursor.getSystemCustomCursor("Invalid.32x32");
// set cursor
l.setCursor(c);
l1.setCursor(c1);
l2.setCursor(c2);
// add labels to panel
p.add(l);
p.add(l1);
p.add(l2);
// add panel to the frame
f.add(p);
// show the frame
f.show();
f.setSize(250, 300);
}
catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
输出 :
2.程序将所有预定义的光标添加到一个选项中
// Java Program to add all predefined cursors to a choice
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class cursor extends JFrame implements ItemListener {
// frame
static JFrame f;
// labels
static Label l;
// create a choice
static Choice c;
// default constructor
cursor()
{
}
// main class
public static void main(String args[])
{
// create a frame
f = new JFrame("cursor");
// create e panel
JPanel p = new JPanel();
// create a choice
c = new Choice();
// add items to choice
for (int i = 0; i < 14; i++)
c.add(Cursor.getPredefinedCursor(i).getName());
// object of class
cursor cu = new cursor();
// create a label
l = new Label(" label one ");
// add item listener to the choice
c.addItemListener(cu);
// add labels to panel
p.add(l);
p.add(c);
// add panel to the frame
f.add(p);
// show the frame
f.show();
f.setSize(250, 300);
}
// if an item of choice is selected
public void itemStateChanged(ItemEvent e)
{
// set the cursor
l.setCursor(Cursor.getPredefinedCursor(c.getSelectedIndex()));
}
}
输出 :
3.程序创建自定义光标并将其添加到标签
// Java program to create a custom cursor and add it to labels
import java.awt.*;
import javax.swing.*;
class cursor extends JFrame {
// frame
static JFrame f;
// label
static Label l, l1, l2;
// default constructor
cursor()
{
// create a frame
f = new JFrame("cursor");
// create e panel
JPanel p = new JPanel();
// extract image
// the files gfg.jpg and gfg.png contains image of cursor
Image i = Toolkit.getDefaultToolkit().getImage("f:\\gfg.jpg");
Image i1 = Toolkit.getDefaultToolkit().getImage("f:\\gfg.png");
// point p
Point p11 = new Point(0, 0);
// create labels
l = new Label("label one");
l1 = new Label("label two");
// create cursors
Cursor c = Toolkit.getDefaultToolkit().createCustomCursor(i, p11, "cursor1");
Cursor c1 = Toolkit.getDefaultToolkit().createCustomCursor(i1, p11, "cursor2");
// set cursor
l.setCursor(c);
l1.setCursor(c1);
// add labels to panel
p.add(l);
p.add(l1);
// add panel to the frame
f.add(p);
// show the frame
f.show();
f.setSize(250, 300);
}
// main class
public static void main(String args[])
{
cursor c = new cursor();
}
}
输出 :
注意:程序可能无法在在线 IDE 中运行,请使用离线 IDE。