gpt4 book ai didi

java-me - 通过覆盖 `createCell` 将图像组件添加到表格单元格

转载 作者:行者123 更新时间:2023-12-04 06:04:32 26 4
gpt4 key购买 nike

我正在使用 LWUIT 并使用 Table 显示数据比如说,航类信息!
我只是喜欢用图标替换它们,而不是用文本写航空公司。
所以,我需要覆盖 protected Component createCell(Object value, final int row, final int column, boolean editable) 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) { }

创建表对象
Table table = new Table(model) {
protected Component createCell(Object value, final int row,
final int column, boolean editable) {
final Component c = super.createCell(value, row, column, editable);
if (column == 6) {
return lAln[value]; //it does not work here
}
}
};

需要帮助将图像添加到表格单元格中!!!

有例子吗???欢迎链接!

最佳答案

您的问题 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 (或者你可以随时谷歌它)。

如果您需要更具体的帮助,请告诉我。

关于java-me - 通过覆盖 `createCell` 将图像组件添加到表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8519641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com