Java 将焦点设置为其他帧

Java 将焦点设置为其他帧,java,swing,Java,Swing,我的问题与java swing框架有关。我有一个J2框架。jFrame1和jFrame2。jframe 1中有一个jbutton,因此当用户单击jbutton时,我希望将焦点集中到第2帧(第2帧已加载到应用程序中),而不关闭第1帧。请帮助执行此操作您可以使用将当前帧置于前面: 导入java.awt.Window; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 导入javax.swing.JButton; 导入java

我的问题与java swing框架有关。我有一个J2框架。jFrame1和jFrame2。jframe 1中有一个jbutton,因此当用户单击jbutton时,我希望将焦点集中到第2帧(第2帧已加载到应用程序中),而不关闭第1帧。请帮助执行此操作

您可以使用将当前帧置于前面:

导入java.awt.Window;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.JButton;
导入javax.swing.JFrame;
公共类MyFrame扩展JFrame实现ActionListener{
公共MyFrame(字符串标题){
超级(标题);
setDefaultCloseOperation(关闭时退出);
JButton button=新JButton(“将其他MyFrame带到前面”);
addActionListener(这个);
添加(按钮);
包装();
setVisible(真);
}
公共静态void main(字符串[]args){
新MyFrame(“1”);
新MyFrame(“2”);
}
@凌驾
已执行的公共无效操作(操作事件e){
对于(窗口:Window.getWindows()){
如果(此!=窗口){
window.toFront();
返回;
}
}
}
}

使用模式对话框!另外,请看这个问题。我不知道JDialog需要是模态的,但是您应该使用JDialog作为子窗口。这是“错误问题的正确答案”。见评论。