swing – 如何设置JPanel的透明背景

我需要知道一个JPanel的bacground可以设置为Transparent吗?

我的框架有两个Jpanels
图像面板和功能面板,功能面板是重叠的图像面板,图像面板正在作为背景工作,它正在从远程Url加载图像,现在我想在功能面板上绘制分页,但是现在由于面板不能看到图像面板功能面板的背景颜色。我需要使Feature Panel背景透明,同时仍然绘制其形状,我希望Image Panel可见,因为它正在进行图像的平铺和缓存功能。我需要分离图像绘图和形状绘图,这就是为什么我使用两个jPanels!有没有反正的重叠Jpanel有透明的背景?

谢谢

或者,考虑The Glass Pane中讨论的The Glass Pane。您可以在玻璃窗格的paintComponent()方法中绘制“Feature”内容。

附录:使用GlassPaneDemo,我添加了一个图像:

/* Set up the content pane, where the "main GUI" lives. */
frame.add(changeButton, BorderLayout.SOUTH);
frame.add(new JLabel(new ImageIcon("img.jpg")), BorderLayout.CENTER);

并更改了玻璃窗格的paintComponent()方法:

protected void paintComponent(Graphics g) {
    if (point != null) {
        Graphics2D g2d = (Graphics2D) g;
        g2d.setRenderingHint(
            RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.setComposite(AlphaComposite.getInstance(
            AlphaComposite.SRC_OVER, 0.3f));
        g2d.setColor(Color.yellow);
        g2d.fillOval(point.x, point.y, 120, 60);
    }
}

image http://i41.tinypic.com/2j0mlv9.png

http://stackoverflow.com/questions/2545214/how-to-set-a-transparent-background-of-jpanel

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:swing – 如何设置JPanel的透明背景