5

JAVA で銀行アプリケーションの GUI を作成しようとしています。フレームに絶対レイアウトを使用すると、Eclipse で WindowBuilder を使用すると簡単に作成できますが、問題はフレームのサイズを変更するときです。そのため、仕事を簡単にするために weightx/y を使用できる gridBagLayout を使用することにしました。このレイアウトを適切に使用する方法を忘れていたので、gridBagLayout メイン パネルに JPanel を追加しようとした最初の試みで行き詰まりました。

これは私が達成したいことです(絶対レイアウトで作成):

ここに画像の説明を入力

そして、これは私が持っているものです(gridBagLayoutで作成):

ここに画像の説明を入力

flowLayout パネルを最初に追加するときに、何を変更/追加する必要があるかを誰かが教えてくれれば幸いです。基本的に最初のセルの空白 - 削除して制御したい!

ここにいくつかのコードがあります:

    setBackground(new Color(255, 255, 255));
    GridBagLayout gridBagLayout = new GridBagLayout();
    gridBagLayout.columnWidths = new int[]{0, 0};
    gridBagLayout.rowHeights = new int[]{0, 0};
    gridBagLayout.columnWeights = new double[]{1.0, Double.MIN_VALUE};
    gridBagLayout.rowWeights = new double[]{1.0, Double.MIN_VALUE};
    setLayout(gridBagLayout);

    JPanel panel = new JPanel();
    FlowLayout flowLayout = (FlowLayout) panel.getLayout();
    flowLayout.setVgap(15);
    flowLayout.setHgap(15);
    flowLayout.setAlignment(FlowLayout.LEFT);
    panel.setBackground(new Color(51, 102, 204));
    GridBagConstraints gbc_panel = new GridBagConstraints();
    gbc_panel.anchor = GridBagConstraints.NORTH;
    gbc_panel.fill = GridBagConstraints.HORIZONTAL;
    gbc_panel.gridx = 0;
    gbc_panel.gridy = 0;
    add(panel, gbc_panel);

    JLabel label = new JLabel("European Bank");
    label.setForeground(Color.WHITE);
    label.setFont(new Font("Tahoma", Font.PLAIN, 25));
    panel.add(label);

    JLabel lblYourBankAccounts = new JLabel("Your Bank Accounts");
    lblYourBankAccounts.setForeground(new Color(153, 153, 153));
    lblYourBankAccounts.setFont(new Font("Tahoma", Font.PLAIN, 19));
    GridBagConstraints gbc_label = new GridBagConstraints();
    gbc_label.insets = new Insets(0, 60, 0, 0);
    gbc_label.anchor = GridBagConstraints.LINE_START;
    gbc_label.gridx = 0;
    gbc_label.gridy = 1;
    add(lblYourBankAccounts, gbc_label);

    JScrollPane scrollPane = new JScrollPane();
    GridBagConstraints gbc_scrollPane = new GridBagConstraints();
    gbc_scrollPane.insets = new Insets(10, 60, 10, 10);
    gbc_scrollPane.weightx = 1.0;
    gbc_scrollPane.weighty = 1.0;
    gbc_scrollPane.gridx = 0;
    gbc_scrollPane.gridy = 2;
    gbc_scrollPane.fill = GridBagConstraints.BOTH;
    add(scrollPane, gbc_scrollPane);
4

1 に答える 1

1

Netbeansに組み込まれている Layout Customizer をお勧めします。そこから学ぶのは簡単です。それが役に立てば幸い。

問題の種類に応じて、ストレッチするコンポーネントのウェイトを調整してみてください。

これを行う方法のスクリーンショットは次のとおりです: http://goo.gl/TBPY9i

于 2013-11-30T16:54:17.677 に答える