Ответ 1
Хорошо, у меня есть след через исходный код Java, который ищет все, что выделяется;
Вы вызываете JOptionPane.showMessageDialog()
, это перегружает до JOptionPane.showOptionDialog()
;
public static int showOptionDialog(Component parentComponent,
Object message, String title, int optionType, int messageType,
Icon icon, Object[] options, Object initialValue)
throws HeadlessException {
JOptionPane pane = new JOptionPane(message, messageType,
optionType, icon,
options, initialValue);
pane.setInitialValue(initialValue);
pane.setComponentOrientation(((parentComponent == null) ?
getRootFrame() : parentComponent).getComponentOrientation());
int style = styleFromMessageType(messageType);
JDialog dialog = pane.createDialog(parentComponent, title, style);
pane.selectInitialValue();
dialog.show();
//..Result handling code
}
Итак, рассмотрим createDialog()
;
public JDialog createDialog(String title) throws HeadlessException {
int style = styleFromMessageType(getMessageType());
JDialog dialog = new JDialog((Dialog) null, title, true);
initDialog(dialog, style, null);
return dialog;
}
Итак, мы проверяем конструктор /s JDialog
, что все вызовы dialogInit()
;
protected void dialogInit() {
enableEvents(AWTEvent.KEY_EVENT_MASK | AWTEvent.WINDOW_EVENT_MASK);
setLocale( JComponent.getDefaultLocale() );
setRootPane(createRootPane());
setRootPaneCheckingEnabled(true);
if (JDialog.isDefaultLookAndFeelDecorated()) {
boolean supportsWindowDecorations =
UIManager.getLookAndFeel().getSupportsWindowDecorations();
if (supportsWindowDecorations) {
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
}
}
sun.awt.SunToolkit.checkAndSetPolicy(this, true);
}
Здесь мы нашли setLocale( JComponent.getDefaultLocale() );
;
Таким образом, он появляется всякий раз, когда вы создаете JDialog, независимо от того, является ли он косвенным, или не локали вашей программы reset по умолчанию, я предполагаю, что это включает в себя сброс настроек ввода.
Существует несколько способов установить языковой стандарт по умолчанию (программно, системные свойства или параметры времени исполнения); Подробности, найденные здесь
Надеюсь, что поможет вам