 <p>Use <code>setFieldChangeListener</code> will do for all action.</p> <pre><code> if (position != 0) { title = new Custom_LabelField(Config_GlobalFunction.maintitle, DrawStyle.ELLIPSIS | LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER | Field.FOCUSABLE | ButtonField.CONSUME_CLICK, Color.WHITE) { protected boolean navigationClick(int status, int time) { Main.getUiApplication().pushScreen( new Custom_LoadingScreen(1)); Main.getUiApplication().invokeLater(new Runnable() { public void run() { Main.getUiApplication().pushScreen( new Main_AllLatestNews()); } }, 1 * 1000, false); return true; } }; } else { title = new Custom_LabelField(Config_GlobalFunction.maintitle, DrawStyle.ELLIPSIS | LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER, Color.WHITE); } title.setFont(Font.getDefault().derive(Font.BOLD, fontsize)); add(title); if (left == 1) { newsbtn = new Custom_ButtonField(news, newsactive, newsactive); newsbtn.setChangeListener(new FieldChangeListener() { public void fieldChanged(Field field, int context) { Main.getUiApplication().pushScreen( new Menu_PopupMenu(position)); } }); add(newsbtn); } else if (left == 2) { backbtn = new Custom_ButtonField(back, backctive, backctive); backbtn.setChangeListener(new FieldChangeListener() { public void fieldChanged(Field field, int context) { Main.getUiApplication().popScreen(mainscreen); } }); add(backbtn); } if (right == 1) { downloadbtn = new Custom_ButtonField(download, downloadactive, downloadactive); downloadbtn.setChangeListener(new FieldChangeListener() { public void fieldChanged(Field field, int context) { if (Config_GlobalFunction .Dialog(Config_GlobalFunction.alertdownload)) { if (Config_GlobalFunction.isConnected()) { webservice.UpdateAllCatNews(); } else Config_GlobalFunction.Message( Config_GlobalFunction.nowifi, 1); } else Config_GlobalFunction.CloseDialog(); } }); add(downloadbtn); } else if (right == 2) { refreshbtn = new Custom_ButtonField(refresh, refreshactive, refreshactive); refreshbtn.setChangeListener(new FieldChangeListener() { public void fieldChanged(Field field, int context) { if (Config_GlobalFunction.isConnected()) { Config_GlobalFunction.Message( Config_GlobalFunction.refreshing, 1); webservice.UpdateMoreCatNews(catsid, position, header); } else Config_GlobalFunction.Message( Config_GlobalFunction.nowifi, 1); } }); add(refreshbtn); } } </code></pre> <p>However, there is a bad thing which is when you click or use trackwheel to click the button, it will appear blue color.</p>