我定义了一个JPanel,定义如下:package ui.mainUi;import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JSlider;import java.awt.*;class MainPanel extends JPanel { private JButton playerButton;
private JButton nextone;
private JButton previousone;
private JButton vloumimage;
protected static Label labelfilepath = new Label("播放目录:"); private static final Image image = Toolkit.getDefaultToolkit().getImage(
"img/skin6.jpg"); // 加载播放器的背景
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics gBackground = g.create();
gBackground.drawImage(image, 0, 0, getWidth(), getHeight(), this);
gBackground.dispose();
} MainPanel() {
nextone = new Button("img/rewind.png");
nextone.setBounds(new Rectangle(165, 60, 40, 35));
playerButton = new Button("img/play.png");
playerButton.setBounds(210, 60, 40, 35);
previousone = new Button("img/fastForward.png");
previousone.setBounds(255, 60, 40, 35);
vloumimage = new Button("img/sound.png");
vloumimage.setBounds(315, 65, 30, 25);
labelfilepath.setBounds(20, 100, 400, 35);
setLayout(null);
add(labelfilepath, null);
add(nextone, null);
add(previousone, null);
add(playerButton, null);
JSlider VolumControl = new JSlider();
VolumControl.setBounds(350, 60, 110, 35);
VolumControl.setPaintLabels(true);
add(VolumControl);
add(vloumimage);
this.setOpaque(false);
// setBackground(null);
setVisible(true);
}}
我现在因为JPanle的背景是一张图片,所以当我在向JPane加新的控件的时候,就覆盖了。
向请问下要怎么样才能将JPanel设置成透明的 ,而不会被新加的控件覆盖呢?