之前为了解决这个问题,翻遍了JSplitPane相关的API,依然没头绪。我之前的想法是API可能有关于这个的设置,实在不行就修改JSplitPane的UI。今日无意在论坛中看到一帖子,原来这么简单:
UIDefaults defaults = UIManager.getDefaults(); defaults.remove( "SplitPane.border"); defaults.remove( "SplitPaneDivider.border");
我差点想撞墙去。当然这个是对所有的JSplitPane设置的。如果你只想对某个JSplitPane做修改,可以采用下面的方法:
SplitPaneUI ui = leftSplitPane.getUI(); if (ui instanceof BasicSplitPaneUI) { ((BasicSplitPaneUI) ui).getDivider().setBorder(null); }