package com.horstmann.violet.framework; public class EditorFrame { public PreferencesService preferences; private int maxRecentFiles = DEFAULT_MAX_RECENT_FILES; private static final int DEFAULT_MAX_RECENT_FILES = 5; EditorFrame(Class appClass) { preferences = PreferencesService.getInstance(appClass); recentFiles = new ArrayList(); File lastDir = new File("."); if (!preferences.isWebStart()) { String recent = preferences.get("recent", ""); if (recent.length() > 0) recentFiles.addAll(Arrays.asList(recent.split("[|]"))); if (recentFiles.size() > 0) lastDir = new File((String) recentFiles.get(0)).getParentFile(); } fileService = FileService.getInstance(lastDir); } /** * Changes the look and feel * @param lafName the name of the new look and feel */ public void changeLookAndFeel(String lafName) { // Just a function hook original(lafName); } /** * Saves the user preferences before exiting. */ public void savePreferences() { String recent = ""; for (int i = 0; i < Math.min(recentFiles.size(), maxRecentFiles); i++) { if (recent.length() > 0) recent += "|"; recent += recentFiles.get(i); } preferences.put("recent", recent); } void SaveLookAndFeelPreferences(String laf) { preferences.put("laf", laf); } }