2012-11-08 74 views

回答

1

JSplitPane组件调用setCursor将设置光标左右&(或顶部&底部)分量。

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

Component divider = ((BasicSplitPaneUI)splitPane.getUI()).getDivider(); 
divider.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); 
+1

嗯,这方法也适用于左右成分,但不能用于分压器(至少在Nimbus LAF上) –

+0

我不能说哪种方法(在我的手机上),但是你可以通过调用类似getUI()。getDivider()的方法来访问分隔符,而不是在getComponent(2) – Matthieu

0

我们可以在addPropertyChangeListener()调整JSplitPane的监听器和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);