Java Reference
In-Depth Information
18. public void setInternationalPrefix(String newPrefix){ internationalPrefix =
newPrefix; }
19. public void setAreaNumber(String newAreaNumber){ areaNumber = newAreaNumber; }
20. public void setNetNumber(String newNetNumber){ netNumber = newNetNumber; }
21. public static void setSelectedInterPrefix(String prefix) { selectedInterPrefix =
prefix; }
22.
23. public String toString(){
24. return internationalPrefix + areaNumber + netNumber;
25. }
26. }
General country data is stored in a helper class, Nation . The InternationalizationWizard creates a collection
of nations when it is first instantiated.
Example A.167 Nation.java
1. import java.text.NumberFormat;
2. public class Nation {
3. private char symbol;
4. private String name;
5. private String dialingPrefix;
6. private String propertyFileName;
7. private NumberFormat numberFormat;
8.
9. public Nation(String newName, char newSymbol, String newDialingPrefix,
10. String newPropertyFileName, NumberFormat newNumberFormat) {
11. name = newName;
12. symbol = newSymbol;
13. dialingPrefix = newDialingPrefix;
14. propertyFileName = newPropertyFileName;
15. numberFormat = newNumberFormat;
16. }
17.
18. public String getName(){ return name; }
19. public char getSymbol(){ return symbol; }
20. public String getDialingPrefix(){ return dialingPrefix; }
21. public String getPropertyFileName(){ return propertyFileName; }
22. public NumberFormat getNumberFormat(){ return numberFormat; }
23.
24. public String toString(){ return name; }
25. }
To better illustrate the use of the Facade in a user environment, the class FacadeGui creates a simple Swing GUI
which demonstrates the effect of changing the country, calling the get methods for the
InternationalizationWizard to provide language, currency and phone number information.
Example A.168 FacadeGui.java
1. import java.awt.Container;
2. import java.awt.GridLayout;
3. import java.awt.event.ActionListener;
4. import java.awt.event.ActionEvent;
5. import java.awt.event.ItemListener;
6. import java.awt.event.ItemEvent;
7. import java.awt.event.WindowAdapter;
8. import java.awt.event.WindowEvent;
9. import javax.swing.BoxLayout;
10. import javax.swing.JButton;
11. import javax.swing.JComboBox;
12. import javax.swing.JFrame;
13. import javax.swing.JLabel;
14. import javax.swing.JPanel;
15. import javax.swing.JTextField;
16. public class FacadeGui implements ActionListener, ItemListener{
17. private static final String GUI_TITLE = "title";
18. private static final String EXIT_CAPTION = "exit";
19. private static final String COUNTRY_LABEL = "country";
20. private static final String CURRENCY_LABEL = "currency";
21. private static final String PHONE_LABEL = "phone";
22.
23. private JFrame mainFrame;
24. private JButton exit;
25. private JComboBox countryChooser;
26. private JPanel controlPanel, displayPanel;
27. private JLabel countryLabel, currencyLabel, phoneLabel;
28. private JTextField currencyTextField, phoneTextField;
Search WWH ::




Custom Search