我的问题与 java swing frame 有关。我有一个 2 jFrame。jFrame1 和 jFrame2。jframe 1 中有一个 jbutton,所以当用户单击 jbutton 时,我想聚焦到第 2 帧(第 2 帧已经加载到应用程序中。)而不关闭第 1 帧。请帮助执行此操作
问问题
2680 次
1 回答
1
您可以使用Window.toFront()
将当前帧置于前面:
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class MyFrame extends JFrame implements ActionListener {
public MyFrame(String title) {
super(title);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JButton button = new JButton("Bring other MyFrame to front");
button.addActionListener(this);
add(button);
pack();
setVisible(true);
}
public static void main(String[] args) {
new MyFrame("1");
new MyFrame("2");
}
@Override
public void actionPerformed(ActionEvent e) {
for (Window window : Window.getWindows()) {
if (this != window) {
window.toFront();
return;
}
}
}
}
于 2013-08-23T16:16:57.990 回答