1

JavaでGUIを開発しています。いくつか質問がありますので、ご協力をお願いします。

以下の画像が必要になる場合があります。

ここに画像の説明を入力

1.. エントリ間のスペース: 削除してください。現在、各エントリは GridLayout が 2,1 の JPanel です。各行には別の JPanel (line1 と line2) があります。デフォルトでは、行 2 は非表示になっており、編集ボタンがクリックされたときにのみ表示され、再度クリックすると非表示になります。setVisible() を使用して可視性を変更できます。しかし、それはその大きなスペースを作成します。

[解決しよう] 2.. Line2 には FlowLayout があります。どうすれば左揃えにできますか?

3.. 各エントリはクラス (「プリセット」と呼ばれる) であり、「presetListing」と呼ばれるクラス変数配列に格納されます。新しいブランチ ボタンをクリックすると、容量が +1 の新しいアレイが作成され、古いプリセットがすべて転送され、最後のスペースに新しいプリセットが作成されます。新しいエントリを GUI に表示するにはどうすればよいですか? JPanel に追加してみましたが、validate() が機能しませんでした。

誰かが私を助けてくれることを願っています。よろしくお願いします!

編集: #3 のコードは次のとおりです。

private void newBranch(){
    Preset[] tempBranches = new Preset[branches.length + 1];

    for (int i = 0; i < branches.length; i++){
        tempBranches[i] = branches[i];
    }

    tempBranches[branches.length] = new Preset();
    branches = tempBranches;

    pane = new JPanel();
    pane.setLayout(new GridLayout(branches.length, 1));
    for (int i = 0; i < branches.length; i++){
        pane.add(branches[i]);
    }

    scroller = new JScrollPane(pane);
    this.add(scroller, BorderLayout.CENTER);

    this.repaint();
    this.validate();
}
4

1 に答える 1

0

これは、パネルをサブパネルで埋めるために機能するはずです。

for (int i = 0; i <= _listElements.size(); i++) {
_panel.add(_listElements.get(i), new GridBagConstraints(0, i, 1, 1, 0, 0,
        GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
        new Insets(0, 0, 0, 0), 0, 0));
}
于 2013-07-31T15:01:18.300 に答える