default998 2022-10-01 21:38 采纳率: 87.5%
浏览 25
已结题

setDefaultCloseOperation窗口关闭方法无法生效

请问,运行第64行代码关闭不了程序,是哪里有问题呀?


import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;

public class TestTF_3 {
    public static void main(String[] args) {
        new TF().launch();
    }
}

class TF extends JFrame {
    public TextField tf1, tf2, tf3;

    public void launch() {
        Frame f = new Frame();
        tf1 = new TextField(30);
        tf2 = new TextField(30);
        tf3 = new TextField(30);
        Button bn = new Button("=");
        Label lb = new Label("+");

        f.setLayout(new FlowLayout());
        f.add(tf1);
        f.add(lb);
        f.add(tf2);
        f.add(bn);
        f.add(tf3);

        bn.addActionListener(new MyMonitor2());

        f.pack();
        f.setVisible(true);

        // f.addWindowListener(new WindowAdapter() { //正常关闭
        // @Override
        // public void windowClosing(WindowEvent e) {
        // System.exit(-1);
        // }
        // });

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //error 64行
        //this.setDefaultCloseOperation(3); //error
    }

    class MyMonitor2 implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            int num1 = Integer.parseInt(tf1.getText());
            int num2 = Integer.parseInt(tf2.getText());
            int num3 = num1 + num2;
            tf3.setText(num3 + "");
        }
    }
}
  • 写回答

1条回答 默认 最新

  • 梦里逆天 2022-10-01 22:17
    关注

    img

    img

        public void launch() {
            JFrame f = new JFrame();
            tf1 = new TextField(30);
            tf2 = new TextField(30);
            tf3 = new TextField(30);
            Button bn = new Button("=");
            Label lb = new Label("+");
    
            f.setLayout(new FlowLayout());
            f.add(tf1);
            f.add(lb);
            f.add(tf2);
            f.add(bn);
            f.add(tf3);
    
            bn.addActionListener(new MyMonitor2());
    
            f.pack();
            f.setVisible(true);
    
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月9日
  • 已采纳回答 10月1日
  • 创建了问题 10月1日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探