0

カルーセルに似たレイアウトを実現しようとしています。2 行目にチェックボックス フィールドを使用して画像を水平方向に追加する必要があります。jscrollpane 内にパネルがあり、個々の画像がラベルとしてパネルに追加されます。スクリーンショットをご覧ください。

スクリーンショット
ここに画像の説明を入力

ペインをスクロールすると、画像を含む最初の行はパネル内にとどまります.しかし、チェックボックスの2行目に気付くと、パネルからスクロールアウトします. これがコードです...

JLabel lab1=new JLabel();
for (int ii=0; ii<imageFiles.length; ii++) {
       GridBagConstraints constraint = new GridBagConstraints();  
        lab1 = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);

        constraint.gridx = ii;
        constraint.gridy =0;  
        jPanel9.add(lab1,constraint);
    }
    for (int ii=0; ii<imageFiles.length; ii++) {
        GridBagConstraints constraint1 = new GridBagConstraints();         
        constraint1.anchor = GridBagConstraints.SOUTH;           
        chkbox = new Checkbox("asdasdada");
        constraint1.gridx = ii;
        constraint1.gridy =1;

        jPanel9.add(chkbox, constraint1);
      } 

何が間違っているのかわからない..どんな助けでも大歓迎です..ありがとう..

4

1 に答える 1

1

問題は、AWTコンポーネント(ヘビーウェイト)とSwingコンポーネント(ライトウェイト)を混合していることです。2つの推奨事項があります。

  • 重量のあるコンポーネントと軽量のコンポーネントを混在させないでください
  • 可能な限り軽量のコンポーネントを使用するようにしてください

したがって、コードでを置き換えるCheckboxJCheckbox、正常に機能するはずです。

于 2013-03-20T16:14:03.180 に答える