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

📄 searchwindows.java

📁 手机邮箱撒的方式方式方式的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        public void commandAction(Command command, Displayable arg1) {            if (command == searchSettingsForm.ok) {                saveAddPhraseSettings();                addSelectedBoxesToSearchSettings();                setDateIntervalInSearchSettings();                                mujmail.getDisplay().setCurrent(previousPhrase);            }        }        private Date getDateFromForm(java.util.Date date, Date dateIfNull) {            if (date == null) {                return dateIfNull;            }            return new Date(date.getTime());        }                private void saveAddPhraseSettings() {            searchSettingsForm.boxes.saveSelectedStateOfCorrespondingItems(                    PersistentBox.getPersistentBoxes());        }        private void addSelectedBoxesToSearchSettings() {            searchSettings.removeBoxes();            searchSettings.addBoxes(searchSettingsForm.boxes.getItemsCorrespondingToSelected(PersistentBox.getPersistentBoxes()));        }        private void setDateIntervalInSearchSettings() {            Date from = getDateFromForm(searchSettingsForm.dateFrom.getDate(), Date.MINIMUM_DATE);            Date to = getDateFromForm(searchSettingsForm.dateTo.getDate(), Date.MAXIMUM_DATE);            searchSettings.setDateInterval(DateInterval.createDateInterval(from, to));                    }            }                /**     * Form that enables to enter the search phrase.     */    private class AddSearchPhraseForm extends Form {        private final Command search;        private final Command back;        private final Command addNewSearchPhrase;        private final Command searchSettings;        private final TextField searchPhrase;        private final ChoiceGroup requiredChG;        private final ChoiceGroup wholeWordsChG;        private final MyChoiceGroup messagePartsChG;        public AddSearchPhraseForm() {            super(Lang.get(Lang.SEA_ENTER_SEARCH_PHRASE));                        searchPhrase = new TextField(Lang.get(Lang.SEA_SEARCH_PHRASE), "", 256, TextField.ANY);            append(searchPhrase);                        requiredChG = new ChoiceGroup("", ChoiceGroup.MULTIPLE);            if (ORIGINAL_UI) requiredChG.append(Lang.get(Lang.SEA_REQUIRED), null);            else requiredChG.append("All phrases must match", null);            append(requiredChG);                        wholeWordsChG = new ChoiceGroup("", ChoiceGroup.MULTIPLE);            wholeWordsChG.append(Lang.get(Lang.SEA_WHOLE_WORDS), null);            append(wholeWordsChG);                        messagePartsChG = new MyChoiceGroup(Lang.get(Lang.SEA_SEARCH_IN_MSG_PARTS), ChoiceGroup.MULTIPLE);            addMessagePartsInWhichSearch();            append(messagePartsChG);                        search = new Command(Lang.get(Lang.BTN_SEA_SEARCH), Command.OK, 4);            back = new Command(Lang.get(Lang.BTN_BACK), Command.BACK, 3);            addNewSearchPhrase = new Command(Lang.get(Lang.BTN_SEA_ADD_NEW_PHRASE), Command.ITEM, 2);            searchSettings = new Command(Lang.get(Lang.SEA_ADVANCED_SETTINGS), Command.ITEM, 1);            addCommand(search);            addCommand(back);            if (ORIGINAL_UI) addCommand(addNewSearchPhrase);            addCommand(searchSettings);                        setCommandListener(new AddSearchPhraseCommandListener(this));        }        /**         * Gets the array of string search phrases contained in this form.         * @return String array with phrases entered into this windows.         */        public String[] getSearchPhrases() {            if (ORIGINAL_UI) {                String[] phrases = {searchPhrase.getString()};                return phrases;            }            Vector phrases = new Vector(1);            String phrasesString = searchPhrase.getString();            int start = 0;            while (start < phrasesString.length()) {                int end;                if (phrasesString.charAt(start) == '"') {                    start++;                    end = phrasesString.indexOf("\"", start);                } else {                    end = phrasesString.indexOf(" ", start);                }                if (end == -1) end = phrasesString.length();                String phrase = phrasesString.substring(start, end);                phrases.addElement(phrase);                if (start != 0 && phrasesString.charAt(start-1) == '"') {                    start = end + 2;                } else {                    start = end + 1;                }            }            String[] phrasesArray = new String[phrases.size()];            phrases.copyInto(phrasesArray);            return phrasesArray;        }                /**         * Returns the importance of the phrase that user marked.         * @return the importance of the phrase that user marked.         */        public SearchPhrase.PhraseImportance getPhraseImportance() {            if (requiredChG.isSelected(0)) {                return SearchPhrase.PhraseImportance.REQUIRED;            } else {                return SearchPhrase.PhraseImportance.OPTIONAL;            }        }                public FulltextSearchModes getSearchMode() {            if (wholeWordsChG.isSelected(0)) {                return FulltextSearchModes.WHOLE_WORDS;            } else {                return FulltextSearchModes.NOT_WHOLE_WORDS;            }        }                private void addMessagePartsInWhichSearch() {            Vector messageParts = SearchMessagePart.getAllMessageParts();            for (int i = 0; i < messageParts.size(); i++) {                SearchMessagePart messagePart = (SearchMessagePart) messageParts.elementAt(i);                messagePartsChG.append(messagePart.toString(), null);                messagePartsChG.setSelectedIndex(i, messagePart.loadBoolean());            }        }            }        /**     * Listenes for events of AddSearchPhraseForm.     */    private class AddSearchPhraseCommandListener implements CommandListener {        private final AddSearchPhraseForm searchPhraseForm;        public AddSearchPhraseCommandListener(AddSearchPhraseForm searchPhraseForm) {            this.searchPhraseForm = searchPhraseForm;        }                public void commandAction(Command command, Displayable displayable) {            if (command == searchPhraseForm.search) {                addSearchPhrasesToSettings();                doSearchDisplayResults();            } else if (command == searchPhraseForm.back) {                mujmail.mainMenu();            } else if (command == searchPhraseForm.addNewSearchPhrase) {                addSearchPhrasesToSettings();                startAddSearchPhraseWindow();            } else if (command == searchPhraseForm.searchSettings) {                startSearchSettingsWindow();            }        }        /**         * Adds search phrases contained in edit box to search settings.         */        private void addSearchPhrasesToSettings() {            saveAddPhraseSettings();            String[] phrases = searchPhraseForm.getSearchPhrases();            for (int i = 0; i < phrases.length; i++) {                searchSettings.addSearchPhrase(                    new SearchPhrase(                    phrases[i],                    searchPhraseForm.getSearchMode(),                    searchPhraseForm.getPhraseImportance(),                    getSelectedMessageParts()));            }        }                private void startSearchSettingsWindow() {            mujmail.getDisplay().setCurrent(new SearchSettingsForm(searchPhraseForm));        }                private void saveAddPhraseSettings() {            searchPhraseForm.messagePartsChG.saveSelectedStateOfCorrespondingItems(                    SearchMessagePart.getAllMessageParts());        }                /**         * Gets selected message parts in searchPhraseForm.         * @return vector of selected message parts in searchPhraseForm.         */        private Vector getSelectedMessageParts() {            return searchPhraseForm.messagePartsChG.getItemsCorrespondingToSelected(                    SearchMessagePart.getAllMessageParts());        }            }    }

⌨️ 快捷键说明

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