4

我想让 JGraphX 图形组件 ( https://github.com/jgraph/jgraphx ) 的背景成为一种特定的颜色。我尝试了任何 Swing 组件的标准调用:

graphComponent.setBackground(Color.BLACK);

但这没有效果。我也尝试强制重新绘制组件,但没有运气。调用不正确,还是有一些特定的方法来强制刷新?

4

1 回答 1

5

由于mxGraphComponentextendsJScrollPane改变了视口的背景:

graphComponent.getViewport().setOpaque(true);
graphComponent.getViewport().setBackground(Color.BLACK);

来自JScrollPane文档:

这可以通过 scrollPane.getViewport().setBackground() 设置视口的背景颜色来完成。设置视口颜色而不是滚动窗格的原因是,默认情况下 JViewport 是不透明的,这意味着它将使用其背景颜色完全填充其背景。因此,当 JScrollPane 绘制其背景时,视口通常会在其上绘制。

于 2013-12-03T17:33:42.077 回答