我在windowsxp中遇到了一个关于模态jdialog的奇怪问题。当对话框处于焦点状态时,我无法用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);
}
});
}
}
我试过你的例子,没有成功,Toolkit从未被锁定,WinXp/Win2008 上的Java6
相同
-
带有AWT对话框的AWT帧
-
AWT框架与摆动JDialog
-
带Swing JDialog 的Swing JFrame
-
带AWT对话框的摆动JFrame
基于代码示例
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();
}
});
}
}