f.getContentPane().setLayout(new BorderLayout());
f.getContentPane().add(p, BorderLayout.CENTER);
final LanguageMap map = LanguageMap.getInstance();
KeyboardLayout layout = map.getKeyboardLayoutForLocale("th", "TH");
final VKeyboard v = new VKeyboard(layout, tb);
JPanel panel = new JPanel(new BorderLayout());
panel.add(v.getKeyPanel(), BorderLayout.CENTER);
final JComboBox<String> comboBox = new JComboBox<>(new Vector<>(map.keySet()));
comboBox.setFocusable(false);
JPanel boxPanel = new JPanel(new FlowLayout());
boxPanel.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 20));
boxPanel.add(comboBox);
panel.add(boxPanel, BorderLayout.NORTH);
comboBox.setSelectedItem(layout.getLocaleString().get(0));
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e)
{
Object item = comboBox.getSelectedItem();
if (item instanceof String)
{
KeyboardLayout keyboardLayout = map.get(item);
if (keyboardLayout != null)
v.setKeyboardLayout(keyboardLayout);
}
}
});
p.add(tb, BorderLayout.NORTH);
p.add(panel, BorderLayout.CENTER);