4

JLabel内に配置した画像を配置したい。これが私のコードです:

public Main() {
    setLayout (new FlowLayout());
            image = new ImageIcon(getClass().getResource("title.gif"));
            image1 = new JLabel(image);
            image1.setAlignmentX(400);
            image1.setAlignmentY(400);
            add(image1);
}

画像は表示されますが、線は表示されます

image1.setAlignmentX(400);
image1.setAlignmentY(400);

何もしないでください。私はJavaを初めて使用しますが、助けていただければ幸いです。

(例をいただければ幸いです。)

4

1 に答える 1

7

問題:

  • 正しく実行していても、絶対配置を尊重しない FlowLayout を使用しています。
  • setAlignmentX(...)x軸に沿ったコンポーネントの配置をコンテナに提案するためのものです。上記のように、0.0f から 1.0f までの float 値を取り、0f は左揃え、0.5f は中央揃え、1.0f は右揃えを意味します。あなたは間違いなくこのメソッドを使用したくないか、ここで対応しています。
  • 絶対配置には、FlowLayout ではなく、null レイアウトを使用するコンテナーが必要です。
  • 絶対位置決めはsetBounds(...)またはsetLocation(...)メソッドを介して行われます。
  • とはいえ、絶対的な必要性がない限り、絶対的な位置付けをしようとしないことをお勧めします。そうしないと、より良い方法がある可能性が高くなります。

問題をどのように解決しようとしているのかではなく、問題の詳細をお知らせください。

于 2012-06-07T23:42:00.033 に答える