0

にいくつかの画像を追加しJPanelます。したがって、単一の画像をJLabelとしてImageIconに追加し、これを main に追加しJPanelます。境界 (setBounds) を image-size に設定しましたが、下に示す画像の上に数ピクセルの余白があります。

画像 http://w752749.open.ge.tt/1/files/64dsvTG/0/blob/x675

また、画像を として追加しようとしましたがDisplayJai()、成功しませんでした (DisplayJaiでは、画像も奇妙な方法でトリミングされています)。

コードの重要な部分は

    JPanel srcJPanel = new JPanel();
    srcJPanel.setBounds(posW, posH, width, height);
    srcJPanel.setBorder(new LineBorder(Color.GREEN.darker(), 2));

    Image image = newImage.getScaledImg().getAsBufferedImage();
    JLabel l = new JLabel(new ImageIcon(image));
    l.setBorder(new LineBorder(Color.RED.darker(), 2));
    srcJPanel.add(l, BorderLayout.CENTER);

    MainPanel.add(srcJPanel);
    this.validate();

誰かがこのマージンで私を助けることができますか?

どうもありがとう。

4

1 に答える 1

0

setBounds メソッドは、MainPanel に「null」レイアウトがある場合にのみ使用する必要があります。それ以外の場合は、検証ごとに境界がデフォルトのレイアウト境界にリセットされます。「null」レイアウトを設定するには、MainPanel の setLayout メソッドに null を渡すだけです。

また、ほとんどの場合、「null」レイアウトを使用する必要はありません。「null」レイアウトを使用して発生する可能性のある問題を回避するために、既存のレイアウトを使用するか、独自のレイアウトを作成することができます。

とにかく、あなたが提供したコードは実際の問題を見るのに十分ではありません - SSCCEを投稿する方が良いです。

于 2012-04-18T08:11:29.723 に答える