0

我似乎无法通过调用来更改 JSplitPane 的调整大小光标有setCursor(new Cursor(Cursor.DEFAULT_CURSOR));没有人知道如何解决这个问题?我正在使用 Nimbus UI。

4

2 回答 2

1

调用组件setCursor为左右(或顶部和底部)组件JSplitPane设置光标。

要设置分隔线组件的光标,您可以使用:

Component divider = ((BasicSplitPaneUI)splitPane.getUI()).getDivider();
divider.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
于 2012-11-08T18:16:48.547 回答
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);
于 2016-02-29T07:06:03.513 回答