import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.WindowConstants;
import javax.swing.plaf.basic.BasicSplitPaneDivider;
import javax.swing.plaf.basic.BasicSplitPaneUI;
public class Main {
public static void main(String[] args) {
new Main().run();
}
public void run() {
JFrame f = new JFrame();
Dimension dim = new Dimension(500, 500);
f.setPreferredSize(dim);
f.setSize(dim);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel a = new JPanel();
a.setBackground(Color.red);
JPanel b = new JPanel();
b.setBackground(Color.blue);
final JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, a, b);
sp.setDividerLocation(f.getHeight() / 2);
final BasicSplitPaneDivider div = ((BasicSplitPaneUI) sp.getUI()).getDivider();
div.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
if (sp.getOrientation() == JSplitPane.VERTICAL_SPLIT) {
div.setCursor(new Cursor(Cursor.S_RESIZE_CURSOR));
} else {
div.setCursor(new Cursor(Cursor.E_RESIZE_CURSOR));
}
}
});
f.add(sp);
f.setVisible(true);
}
}