2012-11-08 40 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);