首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java |如何在“永远”循环运行时关闭JFrame?

在Java中,可以使用以下方法在“永远”循环运行时关闭JFrame:

  1. 在JFrame的关闭按钮上添加一个WindowListener,监听窗口关闭事件。
  2. 在WindowListener的windowClosing方法中,添加关闭JFrame的代码。
  3. 在循环中使用一个标志位来控制是否继续循环。
  4. 在windowClosing方法中将标志位设置为false,以退出循环。

下面是一个示例代码:

代码语言:txt
复制
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会被关闭,并且循环会退出。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JAVA学习中Swing部分JDialog对话框窗体的简单学习

package com.swing; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent...这是窗体转化为容器");         jf.setSize(200,200);//设置容器的大小         jf.setVisible(true);//使窗体可见         //设置窗体的关闭模式...; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;...设置容器的标题         jf.setVisible(true);//设置容器可视化         jf.setSize(450, 400);//设置容器的大小         //设置容器的关闭方式...窗体形式基本相同,甚至在设置窗体的特性     //时调用的方法名称都基本相同,设置窗体的大小,设置窗体的关闭状态等     public MyJDialog(MyFrame frame){//定义一个构造方法

1.7K70

Java AWT 图形界面编程】使用小键盘按键缩放 Canvas 画布中绘制的背景图像 ( 键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

一、键盘按键监听 - 要点分析 ---- 如果要为 Java AWT 界面编程的应用设置键盘按键监听 , 必须为 Frame / JFrame 窗口设置键盘监听 , 为组件设置是无效的 ; 下面是设置键盘监听的核心代码...AWT 图形界面编程】Canvas 中绘制超大图片 ( 使用鼠标拖动查看全图 | 设置 JFrame 窗口自动关闭 | 获取并绘制图片 | 鼠标拖动计算位移 | 画布偏移 ) 博客中 , 绘制了超大图像..., 但是使用鼠标拖动时 , 拖动的效果也随之缩放, 缩小画布后 , 移动鼠标 , 移动距离对应的缩放效果也随之缩小 ; 在 【Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布中绘制的背景图像....*; import java.awt.event.*; public class LargeCanvas extends JPanel { // 鼠标按下时的坐标 以及 更新后的坐标...窗口 JFrame frame = new JFrame("Large Canvas"); // 设置窗口关闭行为 点击右上角关闭按钮 关闭窗口并退出应用

1.8K20

java swing入门教程_java swing基础(菜鸟教程学习)

Java Swing介绍 1.Swing是一个为java世纪的GUI工具包 2.Swing是JAVA基础类的一部分 3.Swing包括了图形用户界面(GUI)器件:文本框,按钮,分隔窗格和表 4个器件...4.Swing提供许多比AWT更好的屏幕显示元素,用纯java写成。...创建一个窗口对象frame,然后设置关闭JFrame frame = new JFrame(“Login Example”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...JFrame java的GUI程序的基本思路是以JFrame为基础,说白了就是窗体屏幕它是屏幕上window的对象,能够最大化,最小化,关闭。...JPanel java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame

2.4K20

Java课程设计【学生信息管理系统】

package 学生信息管理系统; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout...; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import...(2)我们选择学生凯的记录,并点击“删除”按钮,再确定删除,会看到这条记录被删除,仅剩学生花木兰的记录,如图: 6、退出 点击右上角的X,将关闭所有程序窗口。...九、参考文献 《JAVA核心技术》 马志强 张然 李雷孝著 《JAVA API文档》 Oracle官网文件 《JAVA编程思想》 【美】Bruce Eckel著 《JAVA数据库技术详解》 李刚...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

5.2K21

JVM优化Java代码时都做了什么?

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!! JVM 在对代码执行的优化可分为运行时(runtime)优化和即时编译器(JIT)优化。...运行时优化主要是解释执行和动态编译通用的一些机制,比如说锁机制(偏斜锁)、内存分配机制( TLAB)等。...大多数 Java 工程师并不是 JVM 工程师,知识点总归是要落地的,面试官很有可能会从实践的角度探讨,例如,如何在生产实践中,与 JIT 等 JVM 模块进行交互,落实到如何真正进行实际调优。...这个还真未必,因为 JVM 会周期性的对计数的数值进行衰减操作,导致调用计数器永远不能达到门限值,除了可以利用 CompileThreshold 适当调整大小,还有一个办法就是关闭计数器衰减。...所以,在并发场景中偏斜锁的价值其实是被质疑的,经常会明确建议关闭偏斜锁。

1.5K00

情话设计模式

原型模式的结构与实现 由于 Java 提供了对象的 clone() 方法,所以用 Java 实现原型模式很简单。 1.模式的结构 原型模式包含以下主要角色。...在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。...在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。 重写Object类中的clone方法。...又比如需要在一个循环体内创建对象,假如对象创建过程比较复杂或者循环次数很多的话,使用原型模式不但可以简化创建过程,而且可以使系统的整体性能提高很多。...访问类可以通过调用孙悟空的 clone() 方法复制多个孙悟空,并在框架窗体 JFrame 中显示。图 下图所示是其结构图。 ?

38110
领券