Swing - не могу переключить язык в Windows с модальным JDialog
У меня странная проблема с модальным jdialog в Windows XP. Похоже, я не могу переключать язык окон с помощью alt+shift, пока диалог сфокусирован. Я не хочу, чтобы родительский фрейм был доступен. Пожалуйста, помогите мне.
public class MyDialog extends JDialog {
public MyDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
MyDialog dialog = new MyDialog(new javax.swing.JFrame(), true);
dialog.setVisible(true);
}
});
}
}
1 ответ
Решение
Я попробовал ваш пример, но безуспешно, Toolkit никогда не блокируется, Java6 на WinXp / Win2008
то же самое для
AWT Frame с AWT Dialog
AWT Рамка с Swing JDialog
Swing JFrame с Swing JDialog
Swing JFrame с AWT Dialog
на основе примера кода
import javax.swing.JDialog;
import javax.swing.JFrame;
public class MyDialog {
private JFrame frame = new JFrame();
private JDialog dialog = new JDialog();
public MyDialog() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
//dialog = new JDialog(frame, JDialog.ModalityType.TOOLKIT_MODAL);
dialog = new JDialog(frame, true);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setModal(true);
dialog.setSize(300, 200);
dialog.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
MyDialog dialog = new MyDialog();
}
});
}
}