我想让 JGraphX 图形组件 ( https://github.com/jgraph/jgraphx ) 的背景成为一种特定的颜色。我尝试了任何 Swing 组件的标准调用:
graphComponent.setBackground(Color.BLACK);
但这没有效果。我也尝试强制重新绘制组件,但没有运气。调用不正确,还是有一些特定的方法来强制刷新?
我想让 JGraphX 图形组件 ( https://github.com/jgraph/jgraphx ) 的背景成为一种特定的颜色。我尝试了任何 Swing 组件的标准调用:
graphComponent.setBackground(Color.BLACK);
但这没有效果。我也尝试强制重新绘制组件,但没有运气。调用不正确,还是有一些特定的方法来强制刷新?
由于mxGraphComponent
extendsJScrollPane
改变了视口的背景:
graphComponent.getViewport().setOpaque(true);
graphComponent.getViewport().setBackground(Color.BLACK);
来自JScrollPane文档:
这可以通过 scrollPane.getViewport().setBackground() 设置视口的背景颜色来完成。设置视口颜色而不是滚动窗格的原因是,默认情况下 JViewport 是不透明的,这意味着它将使用其背景颜色完全填充其背景。因此,当 JScrollPane 绘制其背景时,视口通常会在其上绘制。