ダイアログ キーイベント 小技

/**
 * ダイアログの2重表示を避けるため
 * ダイアログ表示は常にこのsynchronizedをかけたメソッド通して行います
 */
private synchronized int error(String msg, Throwable t){
	Dialog dlg = new Dialog(Dialog.DIALOG_ERROR, "error");
	dlg.setText(msg + "\n" + t.toString() + "\n" + t.getMessage());
	return dlg.show();
}
	
/**
 * キーイベントについては機種ごとに実装が異なるので
 * synchronizedをかけて一意性を保ちます
 */
public synchronized void softKeyPressed(int key){}
public synchronized void softKeyReleased(int key){
	if (key == Frame.SOFT_KEY_1){
		dispose();
		Display.setCurrent(new TestListenerActionPanel());
	}
}