samples/componentinjection/anagram-modular/src-app-lookup/org/apidesign/anagram/app/lookup/AnagramsWithLookup.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:08:42 +0200
changeset 252 763bf709a318
parent 251 266127621c8f
child 254 0f62dc2ca327
permissions -rw-r--r--
Merge: Patrick's touches
     1 package org.apidesign.anagram.app.lookup;
     2 
     3 import org.apidesign.anagram.api.Scrambler;
     4 import org.apidesign.anagram.api.WordLibrary;
     5 import org.apidesign.anagram.gui.Anagrams;
     6 import org.openide.util.Lookup;
     7 
     8 // BEGIN: anagram.lookup.Anagrams
     9 import org.openide.util.LookupEvent;
    10 import org.openide.util.LookupListener;
    11 class AnagramsWithLookup extends Anagrams {
    12 
    13     public AnagramsWithLookup() {
    14     }
    15 
    16     @Override
    17     protected WordLibrary getWordLibrary() {
    18         return Lookup.getDefault().lookup(WordLibrary.class);
    19     }
    20 
    21     @Override
    22     protected Scrambler getScrambler() {
    23         return Lookup.getDefault().lookup(Scrambler.class);
    24     }
    25 // FINISH: anagram.lookup.Anagrams
    26     
    27     private Lookup.Result<Scrambler> scramblers = Lookup.getDefault().lookupResult(Scrambler.class);
    28 // BEGIN: anagram.lookup.Listeners      
    29     private Lookup.Result<WordLibrary> libraries 
    30         = Lookup.getDefault().lookupResult(WordLibrary.class);
    31     private LookupListener listener = new LookupListener() {
    32         public void resultChanged(LookupEvent ev) {
    33             initWord();
    34         }
    35     };
    36     {
    37         libraries.addLookupListener(listener);
    38 // FINISH: anagram.lookup.Listeners      
    39         
    40         scramblers.addLookupListener(listener);
    41         // initialize the results for listening
    42         libraries.allItems();
    43         scramblers.allItems();
    44     }
    45 }