有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

滚动对象时,java鼠标光标不会改变

我构建的GUI有问题。我试图在滚动某些对象时设置不同的光标更改,例如,当鼠标悬停在按钮上时手动光标,当鼠标悬停在文本字段上时文本光标。但是,适当的代码不起作用。我尝试了以下两种代码:

classArmBtn.setCursor(new Cursor(Cursor.HAND_CURSOR));

classAlcBtn.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

然而,我知道游标不会改变的原因是因为这些对象位于嵌套在JSplitPane中的面板中。但是,JSplitPane被禁用,因为我不希望允许它调整大小。有没有办法重写一个方法并允许这些游标更改?谢谢


共 (1) 个答案

  1. # 1 楼答案

    The JSplitPane, however, is disabled because I don't want it to be allowed to resize.

    另一种禁用大小调整的方法是仅禁用分隔符,并从拆分窗格分隔符中移除鼠标侦听器:

    BasicSplitPaneUI ui = (BasicSplitPaneUI)splitPane.getUI();
    BasicSplitPaneDivider divider = ui.getDivider();
    divider.setEnabled( false );
    
    for (MouseListener ml: divider.getListeners(MouseListener.class))
        divider.removeMouseListener( ml );
    

    现在可以设置光标,因为组件未被禁用