2

私は学校のプロジェクトをやっていて、それがいくつかのファンキーなことをしているので、レイアウトの助けが必要です。

南パネルの助けが必要なだけです。南のパネルは次のように構成されています。

           JRadioButton JLabel1 JLabel2
           JRadioButton JLabel1 JLabel2
    JLabel3--------JTextField----------JButton

私は次のことを試しました:

  1. 南JPanelを3行のグリッドレイアウトに設定します
  2. グリッドレイアウトの最初の行に3行が追加されたグリッドレイアウトを備えた別のJPanel。
  3. 2行目と3行目で#2を繰り返します。2行目は、3行3列です。
  4. 適切な行/列にコンポーネントを追加しました。

必要な方法でフォーマットしません。思い出せない他のテクニックを試しました。助言がありますか?ありがとうございました。南パネルがどのように見えるかを示す写真は次のとおりです。http://www.freeimagehosting.net/image.php?d14a73db5e.jpg

「開始日...」から始まります

4

4 に答える 4

3

新しいものを作成し、そのためにグループレイアウトJPanelを使用します。

このようにhttp://img163.imageshack.us/img163/1403/capturadepantalla201001bo.png

グループレイアウトを使用すると、水平グループに含まれるコンポーネントと垂直グループに含まれるコンポーネントを指定できます。

c1, c2, c3
c4, c5, c6
panel[ c7, c8, c9 ]

上記の画像をレイアウトする方法は次のとおりです。

    // Layout Horizontal components 
    layout.setHorizontalGroup(
        layout.createSequentialGroup()
        .addGroup( 
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addComponent( c1 )
            .addComponent( c4 )
        ).addGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent( c2 )
                .addComponent( c5)
        ).addGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent( c3 )
                .addComponent( c6 )
        )

    );

    // Layout vertical components 
    layout.setVerticalGroup(
        layout.createSequentialGroup()
        .addGroup( 
             layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
             .addComponent( c1 )
             .addComponent( c2 )
             .addComponent( c3 )
         ).addGroup(
             layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                 .addComponent( c4 )
                 .addComponent( c5 )
                 .addComponent( c6 ) 
        )
    );

    southPanel.add( panel ); // the start-end dates
    southPanel.add( bookIt, BorderLayout.SOUTH ); // the enter your name... 

試してみる。

于 2010-01-16T02:04:58.047 に答える
1

南JPanelに対して行うことは、1x3グリッドにして、最初の行の3つのコンポーネントを水平ボックスに追加してグリッドに追加し、2番目の行の3つのコンポーネントを別の水平ボックスに追加して追加することです。グリッドに追加し、3番目の行の3つのコンポーネントを3x1グリッドに追加して、グリッドに追加します。次に、さまざまな接着剤と支柱のコンポーネントを追加して、最初の2行の外観を正確に調整できます。

私は、jpanelまたはBoxを異なるレイアウトの他の内部に配置することで、ほとんどのレイアウトを実現しています。これにより、必要なものをかなり適切に制御でき、一度に1つずつ作成できます。

于 2010-01-16T02:06:40.943 に答える
0

下部パネルに3ではなく、 3のGridLayoutが必要なようです。

含めたリンクの画像では、テキストフィールドがJLabelまたはボタンよりも幅が広くなっています。代わりにGridBagLayoutを試してみてください。

于 2010-01-16T02:05:20.930 に答える
0

最近、MigLayoutに出くわしました。次の大学のプロジェクトで使用してみます。また、とてもクールでシンプルに見えるので、試してみることをお勧めします。

于 2010-01-16T02:13:26.547 に答える