0

アイコンの x 座標と y 座標を変更できないのはなぜですか? 本当に必要なのは、画像を画面に追加することだけです。JLabelを使用する必要さえありますか?

package bit;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class BIT extends JFrame
{
    JLabel CL;

    public BIT()
    {
        CL = new JLabel(new ImageIcon(this.getClass().getResource("final-image.jpg")));
        CL.setBounds(0,0,100,100);

        this.getContentPane().add(CL);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setBounds(5,5,1000,500);
        this.setResizable(false);
        this.setVisible(true);
    }
    public static void main(String[] args) 
    {
        new BIT();
    }
}
4

2 に答える 2

0

setBoundsを使用してコントロールを追加する前に、JFrameのレイアウトを設定解除します

this.setLayout(null);
于 2013-01-18T06:25:45.337 に答える
0

は、レイアウトの実装に従ってコンポーネントを配置するデフォルトのBorderLayoutJLabelレイアウトマネージャーを使用しているため、のx座標とy座標を設定することはできません。JFrame

setBounds絶対測位(またはnullレイアウト)を使用する場合にのみ機能し、このオプションは避ける必要があります(!)

JLabelフレームの左上隅にを配置しようとしているようです( 0, 0)。これを行うには、次のことができます。

  • ラベルを左揃え
  • PAGE_START位置にラベルを追加します

これは:

CL = new JLabel(new ImageIcon(...), JLabel.LEFT);
this.getContentPane().add(CL, BorderLayout.PAGE_START);
于 2013-01-18T17:53:29.757 に答える