6

ボーダー レイアウトがあり、中央のセクションにグリッド レイアウトを追加したいと考えています。ただし、グリッドを宣言してから中央の境界線を追加することはできません。これどうやってするの?

public Liability_Calculator(String s)
{
    super(s);
    setSize(325,200);
    
    c = getContentPane();
    c.setLayout(new BorderLayout());
    
    //the top label
    total = new JLabel("Total monthly liabilities ", JLabel.CENTER);
    c.add(total, BorderLayout.NORTH);
    
    
    //the grid
    GridLayout grid = new GridLayout(2,2);
    
    text_field1 = new JTextField(7);
    
    //I GET AN ERROR HERE!!!!!!!
    grid.add(text_field1);

    //AND ERROR HERE!!!!!!!!!!!!!
    c.add(grid, BorderLayout.CENTER);
    
    

    
    setVisible(true);
}
4

2 に答える 2

8

コンポーネントをレイアウトに追加しようとしていますが、それはできません。代わりに JPanel を使用し、それに GridLayout を指定してから、コンポーネントを JPanel に追加します (ここでは「コンテナー」として機能します)。

一般に、それぞれが GUI に最適なレイアウトを使用して JPanel をネストする必要があります。ここでは、内側の JPanel は GridLayout を使用し、外側の JPanel は BorderLayout を使用します。次に、内側の JPanel を外側の JPanel (ここでは contentPane) の BorderLayout.CENTER 位置に追加するだけです。

于 2012-04-14T17:21:56.443 に答える