2

これらのレイアウトが何であるかわかりません。

  1. このボタンのグループをTextAreaの右側に配置する方法の最初の図(コードサンプルを投稿してください、ありがとうございます)

  2. このJTextAreaを非常に大きな画像にする方法。

  3. 2番目の図は、パネルの左側と右側にこれらの空のフィールドを作成する方法です。

  4. 2番目の画像:そのサイズのJTextAreaとJTextFieldを取得する方法。

他のものは簡単なので、私はそれらについて尋ねません

最初のhttp://img98.imageshack.us/img98/8504/84871015.png

2番目のhttp://img18.imageshack.us/img18/3372/93341349.png

4

3 に答える 3

2

これらのレイアウトを実現する方法は複数ありますが、あなたが見ているGridBagLayoutのは、最も柔軟性がありますが、すべてを正しく行うのが最も難しい方法だと思います。

最初の画像には6行4列があります。フィールドは最初の3行のすべての列を占めます。テキスト領域は、4行目から6行目の最初の列を占めます。ボタンは個々のセルを占有します。

2番目の画像には4行6列があります。テキスト領域は1列×3行、テキストフィールドは1行×6列、ボタンはそれぞれ1つのセルです。

オラクルはそれに関するチュートリアルを提供しています-それらの例を実行すると、写真のように見える独自のレイアウトを作成できるはずです。

于 2012-05-22T22:40:10.740 に答える
1

これJButtonsは使用によって配置されますGridBagLayout()これを行う方法のいくつかの同様の例を示します。

controls = new JPanel();
controls.setLayout(new GridBagLayout());
GridBagConstraints d = new GridBagConstraints();
        d.fill = GridBagConstraints.BOTH;
        d.weightx = 1;
        d.weighty = 1;
        seven = new JButton("7");
        buttonsList.add(seven);
        d.gridx = 0;
        d.gridy = 2;
        d.insets = new Insets(0, 4, 4, 4);
        controls.add(seven, d);

        eight = new JButton("8");
        buttonsList.add(eight);
        d.gridx = 1;
        d.gridy = 2;
        d.insets = new Insets(0, 0, 4, 4);
        controls.add(eight, d);

        nine = new JButton("9");
        buttonsList.add(nine);
        d.gridx = 2;
        d.gridy = 2;
        d.insets = new Insets(0, 0, 4, 4);
        controls.add(nine, d);

        plus = new JButton("+");
        buttonsList.add(plus);
        d.gridx = 3;
        d.gridy = 2;
        controls.add(plus, d);

        four = new JButton("4");
        buttonsList.add(four);
        d.gridx = 0;
        d.gridy = 3;
        d.insets = new Insets(0, 4, 0, 4);
        controls.add(four, d);
于 2012-05-22T22:46:03.440 に答える
1

これらは複数の異なる方法で実現できるため、写真を見ただけでは、どのレイアウトが使用されているかを正確に知ることはできません。これは、動作のサイズ変更を検討する場合に特に当てはまります。

しかし、答えは次のとおりだと思います。

  1. おそらく、 BorderLayout内に含まれるGridLayout(http://docs.oracle.com/javase/tutorial/uiswing/layout/grid.htmlを参照)

  2. おそらくBorderLayoutまたはGridLayoutを使用します-これらは両方とも、画面の関連するゾーンを埋めるためにテキスト領域を拡張します。

  3. おそらくBorderLayoutで、テキストフィールドにEastパネルとWestパネルを使用しています。

  4. おそらく、下部パネルにテキストフィールドがあるBorderlayoutです。

これらすべてを標準のレイアウトマネージャーで明確に行うことができますが、これらのレイアウトを複製したい場合は、非常に柔軟な汎用レイアウトマネージャーであるMigLayoutを使用するでしょう。

于 2012-05-22T22:56:31.933 に答える