我有一个JSplitPane。我想将背景图像添加到JSplitPane的左侧。
mySplitPane.getLeftComponent
这会使左侧组件翻转。然后我想在左侧添加图像背景。我想我可以使用Paint()
将背景图像设置为JSplitPane。但是我如何设置唯一的左侧组件。
我的JSplitPane左侧有一个JTable。我希望JTable透明。然后显示背景图像。
现在我已经为我的JTable设置了背景。我不希望使用JTable Scroll滚动背景。这就是为什么我要将背景图像添加到拆分窗格而不是表格。
答案 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以获取示例和代码示例。 编辑