Domanda

I want to get divider component in JSplitPane. I want to attach MouseListener to it.

How to get divider component of JSplitPane?

Thanks!

È stato utile?

Soluzione 2

Try this -

Initially:

JSplitPane pane = new JSplitPane(JSPlitPane.HORIZONTAL_SPLIT, panelOne, panelTwo);
pane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
        // some processing here
    }
});

Updated:

JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelOne, panelTwo);
BasicSplitPaneUI basicSplitPaneUI = (BasicSplitPaneUI) pane.getUI();
BasicSplitPaneDivider basicSplitPaneDivider = basicSplitPaneUI.getDivider();
basicSplitPaneDivider.addMouseMotionListener(new MouseMotionAdapter() {
    @Override
    public void mouseDragged(MouseEvent e) {
        // some processing here
    }
});

Altri suggerimenti

I want to attach mouse listener to it.

Why do you need a MouseListener (there may be a better solution if we know the actual requirement)?

I want to get divider component in JSplitPane.

You get the divider from the UI:

BasicSplitPaneUI ui = (BasicSplitPaneUI)splitPane.getUI();
BasicSplitPaneDivider divider = ui.getDivider();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top