#java #linux #swing #mouse-cursor #compiz
#java #linux #swing #мышь-курсор #компиляция
Вопрос:
Плагин Compiz Showmouse имеет несколько приятных эффектов для людей с плохим зрением. К сожалению, эти эффекты не работают в приложениях Java из коробки. Как я могу заставить мое приложение Java Swing отображать эффекты мыши, как это делают другие приложения? Я беспокоюсь только о поддержке пользователей Linux (в основном Linux Mint и Ubuntu). Приложение Java использует Nimbus L amp; F и является однокадровым приложением Netbeans (но я создаю все фреймы вручную с помощью Gridbaglayout). Мне нужно, чтобы эффекты мыши Compiz были согласованы везде и постоянно в моем приложении, пока эффекты Compiz включены системой.
Ответ №1:
Я создал простой фрейм Swing:
import javax.swing.*;
public class A extends JFrame {
public static void main(String[] args) {
A a = new A();
a.setSize(100, 100);
a.setVisible(true);
}
}
Я запустил его на JDK 1.6:
$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10) (Gentoo build 1.6.0_22-b22)
OpenJDK 64-Bit Server VM (build 20.0-b10, mixed mode)
Я включил эффект отображения мыши, и он отлично работал поверх окна Swing.
Поэтому, пожалуйста, уточните свой вопрос. Что именно не работает и какая точная конфигурация.
Комментарии:
1. Сегодня я выяснил, как заставить мое приложение Java Swing использовать системный курсор и эффекты Compiz Showmouse. Однако в моем случае для этого требуется некоторый код. Создание приложения с вашим кодом не подходит для меня в Ubuntu 10.04, 10.10, 11.04 или 11.10, а также в Linux Mint 9, 10 или 11. Я собираюсь опубликовать свое решение завтра, как только у меня будет время. Рад слышать, что на Gentoo все «просто работает»!
![]()
2. @OlegMikheev Это было специфично для compiz? У меня похожая проблема в Windows 7: в Swing все курсоры, кроме курсоров по умолчанию, отображаются иначе, чем курсоры, установленные в Windows, не имеют теней и выглядят очень странно.