我正在使用LWUIT并使用Table
显示数据,比如航班信息!
我没有用文字写空气公司,而是用图标替换它们。
因此,我需要覆盖protected Component createCell(Object value, final int row, final int column, boolean editable)
的{{1}}方法。
这就是我实施的方式:
Table
imgAln[i]=null;
try {
imgAln[i] = Image.createImage(strPathToImage[i]);
//e.g /uta.png,/somonair.png and so on
lAln[i] = new Label(imgAln[i]);
} catch (IOException e) { }
需要帮助才能将Image添加到表格单元格!!!
有什么例子吗???欢迎链接!
答案 0 :(得分:3)
createCell(...)
实施中的问题是super.createCell(...)
时它不会返回column is not 6
。您的标签数组(lAln
)也可能无法正确创建。请尝试下面的实现,但请确保在表格模型“column 0
。
这应解决它:
TableModel model = new DefaultTableModel(
new String[]{"Uneditable", "Editable", "CheckBox", "Multiline"},
new Object[][]{
{"/animations.png", "", new Boolean(false), "Multi-line text\nright here"},
{"/buttons.png", "", new Boolean(true), "Further text that\nspans lines"},
{"/dialogs.png", "", new Boolean(true), "No span"},
{"/fonts.png", "", new Boolean(false), "Spanning\nFor\nEvery\nWord"},
});
Table table = new Table(model) {
protected Component createCell(Object value, final int row,
final int column, boolean editable) {
if (row != -1 && column == 0) {
try {
//In my case Column 0 store the resource path names
return new Label(Image.createImage((String)value));
} catch (Exception ex) {
ex.printStackTrace();
}
}
return super.createCell(value, row, column, editable);
}
};
注意:如果在第0列中看到名称而不是图像,则表示图像路径不正确,修复它以查看图像。
您是否设法查看项目 TableLayoutDemo.java
中的LWUITDemo
?如果我记得它是正确的,这是捆绑的下载包LWUIT1.5.zip
(或者你可以随时谷歌)。
如果您需要更具体的帮助,请与我们联系。