我似乎无法通过调用setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
来更改Jsplitpane的调整大小光标,有人知道如何解决这个问题吗?我正在使用Nimbus UI。
在JSplitPane
组件上调用setCursor
将设置光标仅 for Left&右(或底部)组件。
要为分隔组件设置光标,您可以使用:
Component divider = ((BasicSplitPaneUI)splitPane.getUI()).getDivider();
divider.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
我们可以在jsplitpane的addpropertychangelistener()侦听器中添加鼠标侦听器的代码,在加载GUI之后,我们可以发射此事件以将鼠标侦听器绑定到rivider。这是我的代码:
splitPanehor.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, (pce) -> {
Component divider1 = ((JSplitPane) pce.getSource()).getComponent(2);
divider1.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
ExomDataGUI.f.setCursor(new Cursor(Cursor.W_RESIZE_CURSOR));
}
@Override
public void mouseExited(MouseEvent e) {
ExomDataGUI.f.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
});
});
,我们可以在以下方式显示GUI之后发射此事件:
splitPanehor.firePropertyChange(JSplitPane.DIVIDER_LOCATION_PROPERTY, 219, 220);