1 package org.apidesign.extensionpoint;
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.Collections;
7 import javax.swing.JOptionPane;
8 import org.apidesign.extensionpoint.api.TipOfTheDay;
9 import org.openide.util.Lookup;
12 public static void main(String[] args) {
14 // BEGIN: extension.point.Query
15 Collection<? extends TipOfTheDay> all = Lookup.getDefault().lookupAll(TipOfTheDay.class);
16 List<TipOfTheDay> arr = new ArrayList<TipOfTheDay>(all);
17 Collections.shuffle(arr);
23 msg = "I do not know what to say!";
24 title = "No provider registered";
25 type = JOptionPane.WARNING_MESSAGE;
27 msg = arr.get(0).sayHello();
28 title = "Selected from " + arr.size() + " providers";
29 type = JOptionPane.INFORMATION_MESSAGE;
31 // END: extension.point.Query
33 String again = "Once Again";
35 String[] options = new String[] { again, exit };
36 int ret = JOptionPane.showOptionDialog(null, msg, title, 0, type, null, options, exit);