- BufferedReader reader = new BufferedReader(new FileReader(filename));
- String line = reader.readLine();
- for (; line != null; line = reader.readLine()) {
- String key;
- String bold;
- String foreColor;
- String backColor;
+ load(new FileReader(filename));
+ }
+
+ /**
+ * Set a color based on a text string. Color text string is of the form:
+ * <code>[ bold ] [ blink ] { foreground on background }</code>
+ *
+ * @param key the color key string
+ * @param text the text string
+ */
+ public void setColorFromString(final String key, final String text) {
+ boolean bold = false;
+ boolean blink = false;
+ String foreColor;
+ String backColor;
+ String token;
+
+ StringTokenizer tokenizer = new StringTokenizer(text);
+ token = tokenizer.nextToken();
+ while (token.equals("bold") || token.equals("blink")) {
+ if (token.equals("bold")) {
+ bold = true;
+ token = tokenizer.nextToken();
+ }
+ if (token.equals("blink")) {
+ blink = true;
+ token = tokenizer.nextToken();
+ }
+ }
+
+ // What's left is "blah on blah"
+ foreColor = token.toLowerCase();
+
+ if (!tokenizer.nextToken().toLowerCase().equals("on")) {
+ // Invalid line.
+ return;
+ }
+ backColor = tokenizer.nextToken().toLowerCase();