我看到了几个类似的问题,但不幸的是其中的建议并没有完全解决我的问题。
总体目标:我有一个滑块,我想在窗口的左上方显示,该窗口主要显示可视化内容(这里称为“display”)。滑块应该覆盖在可视化内容之上,没有任何背景。
到目前为止,我有一个包含滑块的JPanel,在JLayeredPane中的一个图层上覆盖在可视化内容上。问题是,尽管调用了setOpaque和/或setBackground(new Color(0,0,0,0)),包括滑块的JPanel的背景仍然是灰色的。我正在使用Nimbus LAF。
最初,我使用了绝对布局,它以极少量的代码实现了几乎所有功能。问题在于,可视化内容不会自动随窗口大小调整(但如果有一种清洁的方法可以使可视化内容随窗口大小调整,我也可以采用这种方法)。
非常感谢!
总体目标:我有一个滑块,我想在窗口的左上方显示,该窗口主要显示可视化内容(这里称为“display”)。滑块应该覆盖在可视化内容之上,没有任何背景。
到目前为止,我有一个包含滑块的JPanel,在JLayeredPane中的一个图层上覆盖在可视化内容上。问题是,尽管调用了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);
非常感谢!