在Java中,可以使用以下方法在“永远”循环运行时关闭JFrame:
下面是一个示例代码:
import javax.swing.*;
import java.awt.event.*;
public class MainFrame extends JFrame {
private boolean isRunning;
public MainFrame() {
isRunning = true;
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
isRunning = false;
dispose();
}
});
// 添加其他组件和设置
// ...
}
public void run() {
while (isRunning) {
// 循环运行的代码
// ...
}
}
public static void main(String[] args) {
MainFrame frame = new MainFrame();
frame.setSize(800, 600);
frame.setVisible(true);
frame.run();
}
}
在这个示例中,我们创建了一个MainFrame类继承自JFrame,并在构造方法中设置了窗口关闭事件的监听器。在windowClosing方法中,我们将isRunning标志位设置为false,并调用dispose方法关闭JFrame。在run方法中,我们使用isRunning标志位来控制循环的继续与退出。
这样,当用户点击窗口的关闭按钮时,JFrame会被关闭,并且循环会退出。
领取专属 10元无门槛券
手把手带您无忧上云