2

アプレットを作成していますが、ボタンのサイズとしての配置に問題があります。2 つのボタンを追加しましたが、「OK」ボタンの位置とサイズは正しいように見えますが、「CLEAR」ボタンは「OK」ボタンの後ろのアプレット領域全体を占めています。問題は何ですか?

@Override
public void init() 
{
    super.init();

    setSize(J_WIDTH, J_HEIGHT);
    setLayout(new BorderLayout());

    btn_OK = new Button("OK");
    btn_CLEAR = new Button("CLEAR");

    btn_OK.setBounds(50, 450, 75, 50);
    btn_CLEAR.setBounds(125, 50, 75, 50);

    add(btn_OK);
    add(btn_CLEAR);

    btn_OK.addActionListener(this);
    btn_CLEAR.addActionListener(this);
}
4

1 に答える 1

1

を使用する場合BorderLayoutは、コンポーネントを配置する場所を指定する必要があります。そうでない場合、デフォルトはですBorderLayout.CENTER。また、各ポジションに含めることができるコンポーネントは1つだけです。したがって、を呼び出すとadd(btn_OK)、[OK]ボタンがパネルの中央に追加されます。ただし、を呼び出して、[クリア]ボタンに置​​き換えますadd(btn_CLEAR);

さらに、の各位置はBorderLayout一定のスペースを占めます。その位置にあるコンポーネントは、そのスペースを埋めるために伸びます。特に、CENTERは、他のポジションで使用されていない残りのスペースをすべて占有します。

それBorderLayoutはあなたがここで望んでいることではないと思います。各LayoutManagerの詳細については、レイアウトマネージャーのビジュアルガイドを確認してください。それぞれの実装方法の詳細については、チュートリアルトレイルの残りの部分をたどることもできます。

また、Java APIドキュメントをブックマークして、よく理解しておく必要があります。これらはすべてのJavaプログラマーにとって不可欠なツールであり、多くの質問に自分で答えるのに役立ちます。

于 2013-02-08T00:45:32.520 に答える