2016-09-21 7 views
1

私はプログラム的にコンテナのリストを作成しています。これらのコンテナには、2つのセルを持つテーブルレイアウトがあります。最初のセルで、私は、チェックボックスを示したことだし、第二のセルにマルチボタンは次のとおりです。ページレイアウトでスペースを維持しながら要素を隠す

enter image description here

一部の行では、私は、チェックボックスをクリックして無効にユーザーをしたいと思います。私はチェックボックスに.setHidden(真)、setVisible(真)などを使用しようとしましたが、この場合チェックボックスは表示されません(これも受け入れ可能です)が、その場合はスペースとデータを行に保存していません(画像のように)縦に並んでいません。誰もこれを達成する方法を知っていますか?チェックボックスをグレー表示または無効にすることは素晴らしいことですが、表示しないでスペースを保存することは受け入れられます。

は、ここでは、コードです:

Container list = findContainerOrders(f); 
    list.setScrollableY(true); 
    LinkedHashMap htJSONObject; 

    //al is a ArrayList 

    for(int i=0; i < al.size(); i++){ 

     htJSONObject = (LinkedHashMap)al.get(i); 

     Container cr = new Container(); 

     TableLayout gr = new TableLayout(1, 2); 

     gr.setGrowHorizontally(true); 

     cr.setLayout(gr); 
     final MultiButton b = new MultiButton(); 
     b.setName((String)htJSONObject.get("text1")); 
     b.setTextLine1((String)htJSONObject.get("text2")); 
     b.setTextLine2((String)htJSONObject.get("text3")); 
     b.setTextLine3((String)htJSONObject.get("text4")); 


     b.setUIIDLine1("MultiLine1"); 
     b.setUIIDLine2("MultiLine2"); 
     b.setUIIDLine3("MultiLine1Right"); 

     b.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent ev) { 

      //some action here 
     } 

     }); 

     CheckBox cb = new CheckBox(); 
     cb.setName((String)htJSONObject.get("text1")); 

     String sSomeCondition = (String)htJSONObject.get("Condition"); 

     //If this condition equals "NO" than I want to disable the checkbox 
     if (sSomeCondition.equals("NO")) { 

      // I've tried this but it doesn't work good 
      //cb.setHidden(true); 
      //cb.setHidden(true, true); 
      //cb.setVisible(true); 
      //cb.setEnabled(false); 

      //TODO - disable checkbox code....??? 

     } 
     else { 
      cr.addComponent(cb); 
     } 

     cr.addComponent(b); 

     list.addComponent(cr);      
    } 

私が使用

「は、setEnabled(偽)」陳は彼の答えに言ったように、チェックボックスが無効になっているが、それはapperenceが同じであるのです。私は私のテーマで私のチェックボックスのための無効なスタイルを持って、私はチェックボックスの背景を変更することができましたが、私はチェックボックスの四角形の色を変更したい。

changed background

私はテーマ「定数」タブに一定の「checkBoxUncheckDisImage」を追加し、チェックボックスの矩形画像を置き換えるだろうが、それはうまくいきませんでした別の画像を追加することであることを実行しようとしました。

enter image description here

にはどうすれば無効にチェックボックスのデフォルトのチェックボックスの画像を変更できますか? (偽)

答えて

2

setEnabledは、トリックを行う

+0

が答えてくれてありがとう、あなたのテーマにCheckBoxのための無効なスタイルを持っていることを確認しなければなりません。私はsetEnabled(false)を試してみましたが、チェックボックスの画像を変更したいと思います。私は私の質問を編集しました。それをチェックしていただけますか? –

関連する問題