20 package net.sf.gridarta.gui.dialog.prefs;
22 import java.awt.Component;
23 import java.awt.Container;
24 import java.awt.GridBagLayout;
25 import java.util.Arrays;
26 import java.util.Comparator;
27 import java.util.Locale;
28 import java.util.Objects;
29 import java.util.prefs.Preferences;
30 import javax.swing.AbstractButton;
31 import javax.swing.Box;
32 import javax.swing.JCheckBox;
33 import javax.swing.JComboBox;
34 import javax.swing.JComponent;
35 import javax.swing.JPanel;
36 import javax.swing.border.Border;
37 import javax.swing.border.CompoundBorder;
38 import javax.swing.border.TitledBorder;
44 import net.
sf.japi.swing.action.ActionBuilder;
45 import net.
sf.japi.swing.action.ActionBuilderFactory;
46 import net.
sf.japi.swing.misc.LocaleListCellRenderer;
47 import net.
sf.japi.swing.prefs.AbstractPrefs;
48 import net.
sf.japi.util.LocaleComparator;
49 import org.jetbrains.annotations.NotNull;
72 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
114 private final Comparator<Locale>
comp =
new LocaleComparator();
128 add(Box.createVerticalGlue());
143 final Locale loc = (Locale)
localeBox.getSelectedItem();
155 localeBox.setSelectedIndex(Arrays.binarySearch(
locales, current ==
null ?
null :
new Locale(current),
comp));
167 final Locale loc = (Locale)
localeBox.getSelectedItem();
169 final Locale current = currentName ==
null ? null :
new Locale(currentName);
179 final Container lineLayout = Box.createHorizontalBox();
181 final CharSequence availableLocales =
ACTION_BUILDER.getString(
"availableLocales");
183 locales =
new Locale[locNames.length + 1];
185 for (
int i = 0; i < locNames.length; i++) {
186 locales[i + 1] =
new Locale(locNames[i]);
193 localeBox.setRenderer(
new LocaleListCellRenderer());
196 localeBox.setSelectedIndex(Arrays.binarySearch(
locales, current ==
null ?
null :
new Locale(current),
comp));
208 final JComponent panel =
new JPanel(
new GridBagLayout());
223 final JComponent panel =
new JPanel(
new GridBagLayout());