我已经看过几个类似的问题,但不幸的是,其中包含的建议对我来说还没有完成。
总体目标:我想要在窗口左上方显示一个主要显示可视化的滑块(此处为“显示”)。滑块应覆盖在可视化的顶部,没有任何背景。
到目前为止,我在JLayeredPane中的可视化上方的图层上有一个包含滑块的JPanel。问题是,尽管调用了setOpaque和/或setBackground(new Color(0,0,0,0)),JPanel的背景(包括滑块)显示为灰色。我正在使用Nimbus LAF。
最初,我使用了绝对布局,它几乎完美地完成了一切,并且代码最少。问题是可视化没有自动调整窗口大小(但如果有一种干净的方法可以使窗口调整可视化,我会对这种方法持开放态度)。
JPanel sliderPane = new JPanel();
sliderPane.setLayout(new BoxLayout(sliderPane, BoxLayout.X_AXIS));
sliderPane.add(zoomSlider);
zoomSlider.setMaximumSize(new Dimension (60, 150));
sliderPane.add(Box.createHorizontalGlue());
sliderPane.setBackground(new Color(0,0,0,0));
JLayeredPane graphPane = new JLayeredPane();
graphPane.setPreferredSize(new Dimension(1000, 800));
graphPane.setLayout(new BoxLayout(graphPane, BoxLayout.Y_AXIS));
graphPane.add(sliderPane, new Integer(1));
graphPane.add(display, new Integer(0));
graphPane.setOpaque(false);
非常感谢!