滑过物体时鼠标光标不会改变
Mouse cursor won't change when rolling over objects
我构建的 GUI 有问题。我试图在某些对象上滚动时设置不同的光标更改 - 即,当鼠标悬停在按钮上时手形光标和鼠标悬停在文本字段上时的文本光标。但是,适当的代码不起作用。我已经尝试了以下两种代码:
classArmBtn.setCursor(new Cursor(Cursor.HAND_CURSOR));
和
classAlcBtn.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
不过,我知道光标不会更改的原因是因为这些对象位于嵌套在 JSplitPane 中的面板中。然而,JSplitPane 被禁用,因为我不希望允许它调整大小。有没有什么办法可以覆盖一个方法并允许这些游标改变?谢谢!
The JSplitPane, however, is disabled because I don't want it to be allowed to resize.
另一种禁用调整大小的方法是仅禁用分隔线并从拆分窗格分隔线中删除 MouseListener:
BasicSplitPaneUI ui = (BasicSplitPaneUI)splitPane.getUI();
BasicSplitPaneDivider divider = ui.getDivider();
divider.setEnabled( false );
for (MouseListener ml: divider.getListeners(MouseListener.class))
divider.removeMouseListener( ml );
现在可以设置光标,因为组件没有被禁用。
我构建的 GUI 有问题。我试图在某些对象上滚动时设置不同的光标更改 - 即,当鼠标悬停在按钮上时手形光标和鼠标悬停在文本字段上时的文本光标。但是,适当的代码不起作用。我已经尝试了以下两种代码:
classArmBtn.setCursor(new Cursor(Cursor.HAND_CURSOR));
和
classAlcBtn.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
不过,我知道光标不会更改的原因是因为这些对象位于嵌套在 JSplitPane 中的面板中。然而,JSplitPane 被禁用,因为我不希望允许它调整大小。有没有什么办法可以覆盖一个方法并允许这些游标改变?谢谢!
The JSplitPane, however, is disabled because I don't want it to be allowed to resize.
另一种禁用调整大小的方法是仅禁用分隔线并从拆分窗格分隔线中删除 MouseListener:
BasicSplitPaneUI ui = (BasicSplitPaneUI)splitPane.getUI();
BasicSplitPaneDivider divider = ui.getDivider();
divider.setEnabled( false );
for (MouseListener ml: divider.getListeners(MouseListener.class))
divider.removeMouseListener( ml );
现在可以设置光标,因为组件没有被禁用。