如何移除Swing框架中JSplitPane组件的中间默认样式
如何移除Swing中的
JSplitPane中间样式 JSplitPane中间的默认样式由BasicSplitPaneDivider类负责渲染,也就是我们常说的分割条,要移除默认样式可按实际需求选择以下方案:
- 完全隐藏分割条(无需拖拽功能)
直接调用setDividerSize方法将分割条尺寸设为0即可,代码如下:splitPane.setDividerSize(0); - 保留拖拽功能,仅清除默认绘制样式
重写BasicSplitPaneUI的分割条创建逻辑,自定义无绘制内容的分割条即可:splitPane.setUI(new BasicSplitPaneUI() { @Override public BasicSplitPaneDivider createDefaultDivider() { return new BasicSplitPaneDivider(this) { @Override public void paint(Graphics g) { // 空实现,不绘制任何系统默认的分割线、拖拽手柄等样式 } }; } }); // 保留分割条的拖拽热区宽度,可根据需求调整数值 splitPane.setDividerSize(8); - 全局修改所有
JSplitPane的分割条样式
程序初始化阶段修改UIManager的全局配置,统一移除所有分割条的默认边框:UIManager.put("SplitPaneDivider.border", BorderFactory.createEmptyBorder()); UIManager.put("SplitPane.border", BorderFactory.createEmptyBorder());
JSplitPane默认分割条样式参考:
内容的提问来源于stack exchange,提问作者RichardTang
相关产品推荐
相关产品推荐

