JSplitPane右侧组件的背景图像

时间:2012-04-19 12:10:37

标签: java image swing paintcomponent jsplitpane

我有一个JSplitPane。我想将背景图像添加到JSplitPane的左侧。

mySplitPane.getLeftComponent 

这会使左侧组件翻转。然后我想在左侧添加图像背景。我想我可以使用Paint()  将背景图像设置为JSplitPane。但是我如何设置唯一的左侧组件。

我的JSplitPane左侧有一个JTable。我希望JTable透明。然后显示背景图像。

现在我已经为我的JTable设置了背景。我不希望使用JTable Scroll滚动背景。这就是为什么我要将背景图像添加到拆分窗格而不是表格。

1 个答案:

答案 0 :(得分:4)

这可能是你想要的吗?

class ImagePanel extends JPanel {
    private Image image;
    public ImagePanel(Image image) {
        this.image = image;
    }
    @Override
    protected void paintComponent(Graphics g) {
       g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
    }
}

<强>用法:

BufferedImage myImage = ImageIO.load(...);
JPanel leftPanel = new ImagePanel(myImage);

//Add panel to splitpanel
JSplitPane mySplitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT)
mySplitPane.setLeftComponent(leftPanel);
  

上面我创建了一个JComponent的子类。覆盖   paintComponent(Graphics g)方法绘制我想要的图像   显示。然后我设置JPanel的内容窗格,最后   将面板传递到拆分窗格的左侧

有关水印背景的更多信息,请参阅here以获取示例和代码示例。 编辑