2012-12-01 55 views
1

我已經使用LWUIT創建了一個應用程序。它使用標題欄,這樣LWUIT:如何防止J2ME中的按鈕顏色改變

enter image description here

它使用該容器。在這個標題欄容器下,我創建了滾動列表。

奇怪的部分是,如果我滾動此列表,標題欄中按鈕的顏色(菜單按鈕和過濾器按鈕)將發生變化。當我嘗試設備中的應用程序時,它就發生了。當我嘗試在仿真器使用它,它就好了

這裏是我創建

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)); 

按鈕的代碼,你見過和解決這個問題?

問候

吉瑞

+0

你怎麼隱藏本機的標題欄?我只能將應用程序設置爲全屏模式,但我也失去了頂級欄。 – Mun0n

+1

@jmunoz試試這個 'Display.getInstance()。setTouchScreenDevice(true); (Display.getInstance()。getImplementation(),「Display.getInstance()。setCommandBehavior(BACK);' – giripp

+0

)這不起作用,我找到一種方法來顯示狀態欄使用Display.getInstance nokia.ui.canvas.status_zone「,Boolean.TRUE);' – Mun0n

回答

2

呵呵,答案是我也必須改變以非選擇方式。 這裏的代碼

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(); 

感謝您觀看此問題!

問候

吉瑞

+0

接受你的答案來解決這個問題。 – Mun0n

+1

還有幾個小時要去做,謝謝:) – giripp