本文介绍了如何使用LWUIT - J2ME在表单元格中添加组合框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在表格单元格中添加一个组合框以提供拖放选项LWUIT。
I want to add a combo Box in table cell to provide drag n drop option LWUIT.
我已经使用此选项。
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单元格中的所有属性值;而是在单元格中显示组合框
...
but it returns as a address n all attributes value in cell ; rather displaying combo Box in cell...
Ans:
com.sun.lwuit.table.DefaultTableModel@f828ed68
Ans : com.sun.lwuit.table.DefaultTableModel@f828ed68
任何人都可以帮我解决这个问题...
Can any one help me to solve this ... ???
推荐答案
得到它..一些googling ...:D
I got it .. after some googling ... :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();
}
}
这篇关于如何使用LWUIT - J2ME在表单元格中添加组合框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!