1

JSplitPane があります。JSplitPaneの左側に背景画像を追加したいです。

mySplitPane.getLeftComponent 

これは左側のコンポーネントを返します。次に、左側に画像の背景を追加したいと思います。Paint() を使用して背景画像を JSplitPane に設定できると思います。しかし、左側のコンポーネントのみに設定するにはどうすればよいですか。

JSplitPane の左側に JTable があります。JTable を透明にしたい。背景画像を表示します。

現在、JTable に背景を設定しています。背景を JTable Scroll でスクロールしたくありません。それが、テーブルではなく分割ペインに背景画像を追加したい理由です。

4

1 に答える 1

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 のコンテンツ ペインを設定し、最後にパネルを分割ペインの左側に渡します。

透かしの背景の詳細​​については、例とコード サンプルについてはこちらを参照してください。編集済み

于 2012-04-19T12:22:30.417 に答える