java - LWUIT 组合框 : Class as the Items

标签 java mobile java-me dictionary lwuit

我在 LWUIT 中使用 ComboBox。 我的代码是这样的。

public Locations(String name, int X, int Y)
{
    Name = name;
    xLocation = X;
    yLocation = Y;
}

我已经列出了位置

private List getLocations()
{
    List list = new List();
    list.addItem(new Locations("Landmark1", 23, 40));
    list.addItem(new Locations("Landmark3", 24, 40));
    list.addItem(new Locations("Landmark4", 25, 40));
    list.addItem(new Locations("Landmark6", 26, 40));

    return list;
}

然后使组合框包含列表。

comboBox_Locations = new ComboBox(getLocations().getModel());

现在,我的问题是如何才能在 ComboBox 上只显示位置的名称? 我知道我可以像这样列出位置名称的字符串:

private List getLocations()
{
    List list = new List();
    list.addItem(new Locations("Landmark1", 23, 40).Name);
    list.addItem(new Locations("Landmark3", 24, 40).Name);
    list.addItem(new Locations("Landmark4", 25, 40).Name);
    list.addItem(new Locations("Landmark6", 26, 40).Name);

    return list;
}

但是当我获取selectedItem 时,它只能获取名称而无法获取坐标。 我想做的是像这样上课:

Object item =  comboBox_Locations.getSelectedItem();
            if (item.getClass() == Locations.class) 
            {
                String Name = ((Locations)item).Name.toString();
                int xCoords = ((Locations)item).getX();
                int yCoords = ((Locations)item).getY();
            }

这样我就可以使用 xCoords 和 yCoords。

最佳答案

使用渲染器:

list.setRenderer(new DefaultListCellRenderer() {
    public Component getCellRendererComponent(Component list, Object model, Object value, int index, boolean isSelected) {
        String t = ((Locations)value).getName();
        return super.getCellRendererComponent(list, model, t, index, isSelected);
    }
 });

关于java - LWUIT 组合框 : Class as the Items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806186/

相关文章:

java-me - 列出j2me的所有记录

java - J2ME 聊天应用程序未连接

java - 如何将图像从 Imageview 发送到服务器

php - Wordpress Divi - 如何更改移动标题以具有按钮

java - 找不到满足 java 要求的版本(来自版本 : ) No matching distribution found for java

jquery - CSS 布局 : Elements overlay after slideDown() called

java - 如何从 Android 的内部存储中获取图像数组

java - HTC Diamond可以使用j2me支持MMAPI吗

java - 如何使用不同的 fxml 文件创建多个 javafx Controller ?

Java 泛型。 child 延伸 parent