我似乎无法通过调用setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
更改JSplitPane的调整大小光标有没有人知道怎么解决这个问题?我正在使用Nimbus UI。
答案 0 :(得分:1)
在setCursor
组件上调用JSplitPane
会将光标仅设为以用于左侧&右(或顶部和底部)组件。
要设置分隔符组件的光标,可以使用:
Component divider = ((BasicSplitPaneUI)splitPane.getUI()).getDivider();
divider.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
答案 1 :(得分:0)
我们可以在JSplitPane的addPropertyChangeListener()侦听器中添加鼠标侦听器的代码,并且在加载GUI之后,我们可以触发此事件以将鼠标侦听器绑定到分隔符。这是我的代码:
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);