|
| ||||||||||||
| ||||||||||||
Небылицы?Перевод на русский © Сергей Миссан, 2000 Java Q&A Я видел веб-сайт, на котором курсор мыши превратился в рыбу с 5-ю слоями. Это вдохновило меня на то, чтобы превратить курсор на моей домашней страничке в музыкальную ноту с использованием 3-х слоев. Как мне это сделать? В Java есть возможность создания курсоров мыши из любого изображения. Для этого нужно встроить Java апплет с измененным курсором в ваш HTML. Создание курсора выполняется методом в java.awt.Toolkit из API: public Cursor createCustomCursor (Image cursor, Point hotSpot, String name) throws IndexOutOfBoundsException Toolkit-- это абстрактный класс, поэтому сначала нужно получить нативную реализацию: Toolkit tk = panel.getToolkit();Потом создать курсор:
Cursor cursor =
tk.createCustomCursor
(img, hotSpot, name);
И установить курсор для панели:
panel.setCursor(cursor);(Полный код апплета показан ниже.) К сожалению, создание курсоров возможно только в JDK 1.2 и выше. Это означает, что большинство веб-броузеров не будет их поддерживать, так как они используют только JDK 1.1. Один из выходов -- это использование Java Plug-in для JDK 1.2, который работает, как и любой другой plug-in броузера. Тут вы можете найти дополнительную информацию: http://www.javasoft.com/ products/plugin/index.html Ну а теперь, как и обещано, полный код апплета:
import java.awt.*;
import java.applet.*;
public class CursorApplet
extends Applet {
public void init() {
//загрузить изображение через Media Tracker
MediaTracker tracker = new MediaTracker(this);
Image cursor = getImage
(getCodeBase(), "music_note.gif");
tracker.addImage(cursor, 0);
try
{
tracker.waitForID(0);
} catch
(InterruptedException ie)
{
ie.printStackTrace();
}
Cursor cr = null;
//получить toolkit
Toolkit tk = getToolkit();
try
{
//это x,y координаты изображения
//которые действительно "щелкают"
Point hotSpot = new Point(1, 1);
//создаем наш курсор
cr = tk.createCustomCursor(
cursor, hotSpot, "music_note");
} catch (IndexOutOfBoundsException e) {
e.printStackTrace();
}
//устанавливаем курсор для апплета
setCursor(cr);
}
}
Об автореRandom Walk Computing это наибольшая консалтинговая фирма в Нью Йорке, специализирующаяся на Java/CORBA решениях для предприятий. Известные своим выдающимся знанием Java, консультанты Random Walk публикуются и выступают на самых престижных форумах мира. Для связи с Random Walk используйте javaqa@javaworld.com.Reprinted with permission from the March 2000 edition of JavaWorld magazine. Назад | Содержание | Вперед
|
|
CITForum © 1997–2025