【问题标题】:LWUIT : How to Prevent Button change its color in J2MELWUIT:如何防止按钮在 J2ME 中改变颜色
【发布时间】:2012-12-01 23:56:25
【问题描述】:

我使用 LWUIT 创建了一个应用程序。它使用标题栏,像这样

它使用容器。在此标题栏容器下,我创建了可滚动列表。

奇怪的是,如果我滚动这个列表,标题栏中的按钮(菜单按钮和过滤器按钮)的颜色会改变。当我尝试设备中的应用程序时,它就发生了。当我尝试在模拟器中使用它时,它就好了

这是我创建的按钮的代码

    b_menu.getUnselectedStyle().setBorder(null);
    b_menu.getSelectedStyle().setBorder(null);
    b_menu.getPressedStyle().setBorder(null);
    b_menu.setIcon(ImageUtil.loadImage("/menu.png"));
    b_menu.setRolloverIcon(ImageUtil.loadImage("/menu.png"));
    b_menu.setPressedIcon(ImageUtil.loadImage("/menu.png"));
    b_menu.setName("menu");
    b_menu.getStyle().setBgTransparency(0);
    b_menu.getStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));
    b_menu.getSelectedStyle().setPadding(5, 5, 5, 5);
    b_menu.getSelectedStyle().setMargin(0, 0, 0, 0);
    b_menu.getUnselectedStyle().setPadding(5, 5, 5, 5);
    b_menu.getSelectedStyle().setMargin(0, 0, 0, 0);
    b_menu.getSelectedStyle().setBgColor(0xcf266a, false);
    b_menu.getSelectedStyle().setBgTransparency(0);
    b_menu.getSelectedStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));
    b_menu.getUnselectedStyle().setBgTransparency(0);
    b_menu.getUnselectedStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));
    b_menu.getPressedStyle().setBgTransparency(0);
    b_menu.getPressedStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));

你遇到过并解决过这个问题吗?

问候

吉里

【问题讨论】:

  • 如何隐藏原生标题栏?我只能将应用程序设置为全屏模式,但我也失去了顶部栏。
  • @jmunoz 试试这个Display.getInstance().setTouchScreenDevice(true); Display.getInstance().setCommandBehavior(BACK);
  • 那不行,我找到了使用Display.getInstance().setObjectTrait(Display.getInstance().getImplementation(), "nokia.ui.canvas.status_zone", Boolean.TRUE);显示状态栏的方法
  • 但是我还有一个问题....当您将应用程序置于全屏模式时,我想您在所有界面中都丢失了返回本机按钮。你如何构建这个后退按钮?

标签: lwuit nokia-s40


【解决方案1】:

哦,答案是我还要改变未选中的样式。 代码在这里

    b_menu.getUnselectedStyle().setBorder(null);
    b_menu.getSelectedStyle().setBorder(null);
    b_menu.getPressedStyle().setBorder(null);

    b_menu.setIcon(ImageUtil.loadImage("/menu.png"));
    b_menu.setRolloverIcon(ImageUtil.loadImage("/menu.png"));
    b_menu.setPressedIcon(ImageUtil.loadImage("/menu.png"));

    b_menu.setName("menu");

    b_menu.getStyle().setBgTransparency(0);
    b_menu.getStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));

    b_menu.getSelectedStyle().setPadding(5, 5, 5, 5);
    b_menu.getSelectedStyle().setMargin(0, 0, 0, 0);
    b_menu.getSelectedStyle().setBgTransparency(0);
    b_menu.getSelectedStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));

    b_menu.getUnselectedStyle().setPadding(5, 5, 5, 5);
    b_menu.getUnselectedStyle().setMargin(0, 0, 0, 0);
    b_menu.getUnselectedStyle().setBgTransparency(0);
    b_menu.getUnselectedStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));

    b_menu.getPressedStyle().setBgTransparency(0);
    b_menu.getPressedStyle().setBgPainter(new LinearGradientPainter(0xcf266a, 0xcf266a, false));

    b_menu.addActionListener(this);
    b_menu.repaint();

感谢您查看此问题!

问候

吉里

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 2022-09-27
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 2021-11-16
    相关资源
    最近更新 更多