Java AWT |游标类及其示例

游标类是Java AWT包的一部分,用于创建自定义游标或继承系统或预定义游标。 Cursor类主要用于封装鼠标光标的位图表示。

null

游标类的构造函数是:

  1. 光标(int t) :创建具有指定类的游标
  2. 游标(字符串名称) :创建具有指定名称的自定义光标。

常用方法

方法 解释
getDefaultCursor() 返回系统默认光标。
getName() 返回此游标的名称。
getPredefinedCursor(int t) 返回具有指定预定义类型的游标对象。
getSystemCustomCursor(字符串n) 返回与指定名称匹配的系统特定自定义游标对象。
getType() 返回此游标的类型
toString() 返回此游标的字符串表示形式。
createCustomCursor(图像i,点p,字符串名称) 使用指定的图像和名称创建自定义光标。

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。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享