2

드래그 앤 드롭 옵션 LWUIT을 제공하기 위해 표 셀에 콤보 상자를 추가하려고합니다.LWUIT - J2ME를 사용하여 표 셀에서 콤보 상자를 추가하는 방법은 무엇입니까?

나는 그것을 위해이 옵션 ..

private String strCmbBox[] = { "1", "2", "3", "4" }; 

    ComboBox comboRdoBox = new ComboBox(strCmbBox); 
    comboRdoBox.setListCellRenderer(new comboBoxRenderer()); 

    TableModel model = new DefaultTableModel(new String[] { "Col 1", 
      "Col 2", "Col 3" }, new Object[][] { 
      {"Row 1",new DefaultTableModel(new String[] { "1" }, 
      new Object[][] { { comboRdoBox }, { "lbl" } }), 
      "Row X" }, { "Row 2", "Row B", "Row Y" }, 
      { "Row 3", "Row C", "Row Z" }, 
      { "Row 4", "Row D", "Row K" }, }); 

    Table table = new Table(model); 

    table.initComponent(); 
    f.addComponent(table); 

    f.show(); 

을 사용했지만 그것은 주소로 반환 N 모든 셀에 값을 속성; 오히려 콤보 상자 셀에 을 ...

Ans By의 표시 : 이 [email protected]

어느 한 날이 문제를 해결하는 데 도움이 수를 ... ???

답변

0

내 이전 question에 대한 귀하의 메시지에 대한 응답으로 표를 확장 한 것과 같습니다.

createCell 메서드를 재정 의하여 해당 열을 포함하는 combox를 반환합니다.

1

내가 .. 그것을 가지고 일부 인터넷 검색 후 ... : D

package examples; 

import javax.microedition.midlet.MIDlet; 
import javax.microedition.midlet.MIDletStateChangeException; 

import com.sun.lwuit.ComboBox; 
import com.sun.lwuit.Component; 
import com.sun.lwuit.Display; 
import com.sun.lwuit.Form; 

import com.sun.lwuit.List; 
import com.sun.lwuit.RadioButton; 

import com.sun.lwuit.list.ListCellRenderer; 
import com.sun.lwuit.table.DefaultTableModel; 
import com.sun.lwuit.table.Table; 
import com.sun.lwuit.table.TableModel; 

class CustomTable extends Table { 

    static ComboBox comboRdoBox[]; 

    public CustomTable(TableModel model) { 
     super(model); 
     comboRdoBox = new ComboBox[this.getModel().getRowCount()]; 
    } 

    protected Component createCell(Object value, int row, int column, 
      boolean editable) { 
     System.out.print("row : " + row); 
     System.out.println(" column : " + column); 

     // if (row == 2) { 
     switch (column) { 
     case 1: 
      if (comboRdoBox[column] == null) { 
       comboRdoBox[column] = new ComboBox(DemoTable2.strCmbBox); 
       comboRdoBox[column].setListCellRenderer(new rdioBoxRenderer()); 
      } 

      return comboRdoBox[column]; 
     } 

     // } 

     return super.createCell(value, row, column, editable); 
    } 
} 

class rdioBoxRenderer extends RadioButton implements ListCellRenderer { 

    public rdioBoxRenderer() { 
     super("In super"); 
    } 

    public Component getListCellRendererComponent(List arg0, Object value, 
      int index, boolean isSelected) { 
     // TODO Auto-generated method stub 
     setText(" value :" + value + " index: " + (index + 1)); 
     if (isSelected) { 
      setFocus(true); 
      setSelected(true); 
     } else { 
      setFocus(false); 
      setSelected(false); 
     } 
     return this; 
    } 

    public Component getListFocusComponent(List arg0) { 
     setText(""); 
     setFocus(true); 
     setSelected(true); 
     return this; 
    } 

} 

public class demoTable extends MIDlet { 

    public demoTable() { 
     // TODO Auto-generated constructor stub 
    } 

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException { 
     // TODO Auto-generated method stub 

    } 

    protected void pauseApp() { 
     // TODO Auto-generated method stub 

    } 

    protected void startApp() throws MIDletStateChangeException { 
     Display.init(this); 
     Form form = new Form("Hello Form"); 
     // form.setLayout(new BorderLayout()); 

     TableModel model = new DefaultTableModel(new String[] { "Col 1", 
       "Col 2", "Col 3" }, new Object[][] { 
       { "Row 1", "Row A", "Row X" }, { "Row 2", "Row B", "Row Y" }, 
       { "Row 3", "Row C", "Row Z" }, { "Row 4", "Row D", "Row K" }, }); 

     CustomTable customTable = new CustomTable(model); 
     form.addComponent(customTable); 
     form.show(); 

    } 
} 
관련 문제