我想让JGraphX图形组件(https://github.com/jgraph/jgraphx)的背景遍布整个特定颜色。我尝试了任何Swing组件的标准调用:
graphComponent.setBackground(Color.BLACK);
但这没有效果。我试图强制重新组装组件,没有运气。呼叫是否不正确,还是有某种特定方式强制刷新?
答案 0 :(得分:5)
由于mxGraphComponent
扩展JScrollPane
,因此更改了视口的背景:
graphComponent.getViewport().setOpaque(true);
graphComponent.getViewport().setBackground(Color.BLACK);
来自JScrollPane docs:
这可以通过设置背景来完成 视口的颜色,通过scrollPane.getViewport()。setBackground()。 设置视口颜色的原因而不是 scrollpane是默认情况下JViewport是不透明的,其中包括 事物,意味着它将完全填补其背景使用它 背景颜色。因此,当JScrollPane绘制其背景时 视口通常会覆盖它。