Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java me 如何在lwuit中设置特定列表项的样式?_Java Me_Lwuit_Lwuit Form_Lwuit List - Fatal编程技术网

Java me 如何在lwuit中设置特定列表项的样式?

Java me 如何在lwuit中设置特定列表项的样式?,java-me,lwuit,lwuit-form,lwuit-list,Java Me,Lwuit,Lwuit Form,Lwuit List,我需要一个要求,在一个列表中,一些列表项应该表现出不同于其他项目的风格。如何在lwuit中实现这一点 比如说, List menu = new List(); menu.addItem("1. Green"); menu.addItem("2. Red"); menu.addItem("3. Blue"); 在此列表中,每个项目应具有表示其颜色的样式(即,绿色应具有绿色背景,红色应具有红色背景)。在LWUIT有可能吗?我们如何才能

我需要一个要求,在一个列表中,一些列表项应该表现出不同于其他项目的风格。如何在lwuit中实现这一点

比如说,

        List menu = new List();
        menu.addItem("1. Green");
        menu.addItem("2. Red");
        menu.addItem("3. Blue");
在此列表中,每个项目应具有表示其颜色的样式(即,绿色应具有绿色背景,红色应具有红色背景)。在LWUIT有可能吗?我们如何才能做到这一点


提前谢谢。

这是一种方法。 1.为列表中的每个项目创建组件 2.添加背景颜色和文字。 3.完成后,将其添加到表单或您创建的任何其他custon组件中

其他方式:
您可以创建自己的列表渲染器。是一些关于如何做的信息

这是一种方法。 1.为列表中的每个项目创建组件 2.添加背景颜色和文字。 3.完成后,将其添加到表单或您创建的任何其他custon组件中

其他方式:
您可以创建自己的列表渲染器。是有关如何执行此操作的一些信息

您必须为此用例创建单元渲染器。仅派生“DefaultListCellRenderer”,例如:

DefaultListCellRenderer rend = new DefaultListCellRenderer() {
     public Component getCellRendererComponent(Component list, Object model, Object value, int index, boolean isSelected) {
           Component c = super.getCellRendererComponent(...);
           c.getStyle().setBgTransparency(255);
           c.getStyle().setBgColor(theColorYouWant);
           return c;
     }
};

然后将此渲染器设置为列表。您可能需要在这里进行一些额外的改进,因为这是一个过于简化的渲染器示例。

您必须为此用例创建单元渲染器。仅派生“DefaultListCellRenderer”,例如:

DefaultListCellRenderer rend = new DefaultListCellRenderer() {
     public Component getCellRendererComponent(Component list, Object model, Object value, int index, boolean isSelected) {
           Component c = super.getCellRendererComponent(...);
           c.getStyle().setBgTransparency(255);
           c.getStyle().setBgColor(theColorYouWant);
           return c;
     }
};

然后将此渲染器设置为列表。您可能需要在这里进行一些额外的改进,因为这是一个过于简化的渲染器示例。

扩展了DefaultListCellRenderer,效果很好。非常感谢。扩展了DefaultListCellRenderer,效果很好。非常感谢。我已经创建了自己的列表渲染器,谢谢。我已经创建了自己的列表渲染器,谢谢。