⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uicontroller.java

📁 这个范例程序演示了利用j2me技术开发无线服务器支持的应用。这是一个电影票订购程序
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                    }                     break;                }                 case EventIds.EVENT_ID_ACCOUNTINFOSAVED: {                    model.setAccountInfo(newAccountInfo);                    accountInfo = newAccountInfo;                    display.setCurrent(fallbackUI);                    break;                }                 case EventIds.EVENT_ID_CHOOSEMOVIEREQUESTED: {                    model.setOffline(true);                    if (accountInfo == null) {                        accountSetupRequested();                    } else {                        Theater[] theaterList = getTheaterList();                        Theater[] persistedTheaters =                             model.getPersistedTheaters(null);                        Theater[] cachedTheaters =                             model.getCachedTheaters(null);                        /* merge the persisted and cached theater list */                        Theater[] theaters =                             new Theater[persistedTheaters.length + cachedTheaters.length];                        System.arraycopy(persistedTheaters, 0, theaters, 0,                                          persistedTheaters.length);                        System.arraycopy(cachedTheaters, 0, theaters,                                          persistedTheaters.length,                                          cachedTheaters.length);                        chooseMovieUI.setTheaters(theaterList, theaters);                        chooseMovieUI.init(model.getPreferences());                        display.setCurrent(chooseMovieUI);                    }                     break;                }                 case EventIds.EVENT_ID_LOOKUPTHEATERSCHEDULE: {                    model.setOffline(false);                    TheaterSchedule theaterSchedule =                         selectedTheater.getTheaterSchedule();                    if (theaterSchedule != null) {                        chooseMovieUI.theaterScheduleDownloadSuccess(theaterSchedule,                                 theaterSelection);                        display.setCurrent(chooseMovieUI);                    }                     break;                }                 case EventIds.EVENT_ID_DOWNLOADTHEATERSCHEDULE: {                    TheaterSchedule theaterSchedule =                         selectedTheater.getTheaterSchedule();                    preferences.addUpdatableTheaterScheduleKey(selectedTheater.getPrimaryKey());                    model.persistTheaterSchedule(selectedTheater);                    model.setPreferences(preferences);                    manageTheaterSchedulesRequested();                    break;                }                 case EventIds.EVENT_ID_SELECTSEATSSELECTED: {                    SeatingPlan seatingPlan =                         selectedMovieSchedule.getSeatingPlan(selectedShowTime);                    String movieName = selectedMovie.getTitle();                    seatingPlanUI.init(selectedTheater.getName(), movieName,                                        seatingPlan, selectedShowTime);                    display.setCurrent(seatingPlanUI);                    break;                }                 case EventIds.EVENT_ID_SEATSSELECTED: {                    reservation =                         model.reserveSeats(selectedTheater.getPrimaryKey(),                                            selectedMovie.getPrimaryKey(),                                            selectedShowTime, selectedSeats);                    purchaseTicketsUI.init(model.getAccountInfo());                    display.setCurrent(purchaseTicketsUI);                    break;                }                 case EventIds.EVENT_ID_PURCHASEREQUESTED: {                    model.purchaseTickets(reservation);                    purchaseCompleteUI.init(reservation.getId(),                                             selectedTheater.getName(),                                             selectedMovie.getTitle(),                                             selectedShowTime);                    display.setCurrent(purchaseCompleteUI);                    break;                }                 case EventIds.EVENT_ID_RATEMYMOVIESREQUESTED: {                    MovieRating[] movieRatings = model.getMovieRatings();                    MovieRating[] nonDeletedMovieRatings =                         new MovieRating[movieRatings.length];                    int j = 0;                    for (int i = 0; i != movieRatings.length; i++) {                        if (movieRatings[i].getModificationStatus()                                 != Synchronizable.STATUS_DELETED) {                            nonDeletedMovieRatings[j++] = movieRatings[i];                        }                     }                     rateMyMoviesUI.init(nonDeletedMovieRatings);                    display.setCurrent(rateMyMoviesUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_DELETE_REQUESTED: {                    // TODO                    // selectedMovieRating.setModificationStatus(Synchronizable.STATUS_DELETED);                    // model.setMovieRating(selectedMovieRating);                    taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED;                    run();                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATINGS_SYNC_REQUESTED: {                    progressObserverUI.init(getString(UIConstants.SYNC_MOVIE_RATINGS),                                             false);                    int strategyId =                         preferences.getConflictResolutionStrategyId();                    if (strategyId != Synchronizable.STRATEGY_ASK_USER) {                        model.synchronizeMovieRatings(strategyId);                        model.commitMovieRatings(new MovieRating[0]);                        taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED;                        run();                        showInfoAlert(getString(UIConstants.SYNC_SUCCESSFUL),                                       rateMyMoviesUI);                    } else {                        MovieRating[][] movieRatingPairs =                             model.synchronizeMovieRatings();                        if (movieRatingPairs.length != 0) {                            syncMovieRatingsUI.init(movieRatingPairs);                            showInfoAlert(getString(UIConstants.CONFLICTING_RATINGS_LONG),                                           syncMovieRatingsUI);                        } else {                            model.commitMovieRatings(new MovieRating[0]);                            taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED;                            run();                            showInfoAlert(getString(UIConstants.SYNC_SUCCESSFUL),                                           rateMyMoviesUI);                        }                     }                     break;                }                 case EventIds.EVENT_ID_MOVIE_RATINGS_SAVE_REQUESTED: {                    for (int i = 0; i < selectedMovieRatings.length; i++) {                        model.setMovieRating(selectedMovieRatings[i]);                    }                     taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED;                    run();                    display.setCurrent(rateMyMoviesUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATINGS_RESOLUTION_REQUESTED: {                    progressObserverUI.init(getString(UIConstants.SYNC_MOVIE_RATINGS),                                             false);                    model.commitMovieRatings(resolvedMovieRatings);                    taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED;                    run();                    showInfoAlert(getString(UIConstants.SYNC_SUCCESSFUL),                                   rateMyMoviesUI);                    break;                }                 }    // for switch - case            } catch (ApplicationException ae) {                if (ae.getCode()                         == ErrorMessageCodes.ERROR_OPERATION_INTERRUPTED) {                    display.setCurrent(fallbackUI);                } else {                    showErrorAlert(ae.getMessage(), fallbackUI);                }             } catch (Exception e) {                e.printStackTrace();                showErrorAlert(e.getMessage());            }         }     }    private void createCommands() {        exitCommand = new Command(getString(UIConstants.EXIT), Command.EXIT,                                   1);        mainMenuCommand = new Command(getString(UIConstants.MAIN_MENU),                                       Command.OK, 3);        mySettingsCommand = new Command(getString(UIConstants.MY_SETTINGS),                                         Command.OK, 3);        // aboutCommand = new Command(getString(        // UIConstants.ABOUT), Command.OK, 6);        // showPreviewCommand = new Command(getString(        // UIConstants.SHOW_PREVIEW), Command.OK, 3);        // showByMoviesCommand = new Command(getString(        // UIConstants.SHOW_BY_MOVIES), Command.OK, 3);        // whatsNewCommand = new Command(getString(        // UIConstants.WHATS_NEW), Command.OK, 5);    }     private void setCommands(Displayable displayable) {        displayable.addCommand(exitCommand);        displayable.addCommand(mainMenuCommand);        // displayable.addCommand(showPreviewCommand);        // displayable.addCommand(showByMoviesCommand);        // displayable.addCommand(whatsNewCommand);        displayable.addCommand(mySettingsCommand);        // displayable.addCommand(aboutCommand);    }     private Theater[] getTheaterList() throws ApplicationException {        Preferences pref = model.getPreferences();        String zipCode = pref.getDefaultZipCode();        String zipCode2 = pref.getSecondZipCode();        if (zipCode.length() == 0) {            return null;        }         Theater[] theaterList = model.getTheaters(zipCode);        if (zipCode2.length() != 0) {            Theater[] theaterList2 = model.getTheaters(zipCode2);            Theater[] theaters =                 new Theater[theaterList.length + theaterList2.length];            System.arraycopy(theaterList, 0, theaters, 0, theaterList.length);            System.arraycopy(theaterList2, 0, theaters, theaterList.length,                              theaterList2.length);            theaterList = theaters;        }         return theaterList;    }     public Image getImage(byte imageIndex) {        return icons[imageIndex];    } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -