将焦点设置为其他jframe

时间:2013-08-23 16:02:43

标签: java swing

我的问题与java swing frame有关。我有一个2 jFrame。 jFrame1和jFrame2。在jframe 1中有一个jbutton,所以当用户点击我想要聚焦到第2帧的jbutton(第2帧已经加载到应用程序中)时,不关闭frame1。请帮忙做这个

1 个答案:

答案 0 :(得分:0)

您可以使用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;
            }
        }
    }
}