0

画像クエリの後に画像を表示するボタンの配列があります。現在、各ボタンの下にチェックボックスを追加して、ユーザーが関連する画像かどうかを確認できるようにしています。各 Jpanel が 1 つのボタンとチェックボックスで構成される Jpanel の配列を作成する予定でしたが、コードにすべてのコンポーネントを組み込む方法がわかりません。

resultPanel = new JPanel[10];
resultPanel[10].add(relevantFB);
resultPanel[10].add(button);

for (int i = 1; i < 101; i++) {
 button[i] = new JButton(newIcon);
 relevantFB[i] = new JCheckBox();
 relevantFB[i].setText("Relevant Image" + i);
 panelBottom1.add(button[i]);
 button[i].addActionListener(new IconButtonHandler(i, newIcon));
 relevantFB[i].addActionListener(new IconCheckboxHandler(i, newIcon));
 buttonOrder[i] = i;
 checkboxOrder[i]=i;
}
4

2 に答える 2

0

GridBagLayout で JPanel を使用します。最初の行にボタンを配置し、その下にチェックボックスを配置します。

- 編集 -

ここにいくつかのコードがあります。これは、配列に n 個のアイコンがあると仮定していますicon。あなたとは異なり、アイコンには0から始まる番号が付けられていると思いました。

    JPanel resultPanel = new JPanel() ;
    GridBagLayout gbl = new GridBagLayout() ;
    resultPanel.setLayout( gbl );
    GridBagConstraints constraints = new GridBagConstraints() ;

    JButton[] button = new JButton[n] ; ;
    for( int i = 0 ; i < n ; ++i ) {
        button[i] = new JButton( new ImageIcon( "path"+(i+1)+".jpg" ) ); }
        button[i].addActionListener(new IconButtonHandler(i+1, icon[i]));
        constraints.gridx = i ;
        constraints.gridy = 0 ;
        resultPanel.Add( button[i], constraints ) ; }

    JCheckBox[] relevantFB = new JCheckBox[n] ; ;
    for( int i = 0 ; i < n ; ++i ) {
        relevantFB[i] = new JCheckBox();
        relevantFB[i].setText("Relevant Image" + (i+1));
        relevantFB[i].addActionListener(new IconCheckboxHandler(i+1, icon[i]));
        constraints.gridx = i ;
        constraints.gridy = 1 ;
        resultPanel.add( relevantFB[i], constraints ) ; }
于 2013-11-02T20:03:23.367 に答える