Мне было поручено позволить пользователю изменять изображение курсора мыши в большом приложении Swing со многими независимыми экземплярами JFrame, JDialog и т. Д.
Мне удалось довольно близко приблизиться к тому, что я хотелиспользуя метод Component
public void setCursor(Cursor cursor)
Я могу использовать это, чтобы установить курсор на JFrame, за исключением строки заголовка окна, которая появляется, когда JFrame украшен.
Приведенный ниже код покажет небольшой JFrame с курсором, установленным на курсор в виде руки.Тем не менее, он не установит курсор на курсор в строке заголовка.В этой части JFrame курсор возвращается к системному значению по умолчанию.
import javax.swing.*;
import java.awt.*;
public class ShowHandCursorTest {
public static void main(String[] args) {
JFrame aWindow = new JFrame();
aWindow.setBounds(200, 200, 200, 200);
aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aWindow.getRootPane().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
aWindow.getContentPane().setBackground(Color.LIGHT_GRAY);
aWindow.setVisible(true);
}
}
Есть ли способ установить курсор на Cursor.HAND_CURSOR
в строке заголовка?