Java 弹出的消息框关不掉

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 弹出的消息框关不掉相关的知识,希望对你有一定的参考价值。

import javax.swing.*;
import java.util.Random;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JLabel.*;

public class Multi extends JFrame implements ActionListener

private JLabel label;
private JLabel label1;
private JTextField field;
private JButton button;
public Random random= new Random();//随机变量
int a=1+random.nextInt(9);
int b=1+random.nextInt(9);

public static void main(String args[])//main方法

Multi frame=new Multi();
frame.setSize(400,400);
frame.createGUI();
frame.show();



private void createGUI()//建立用户界面

setDefaultCloseOperation(EXIT_ON_CLOSE);
Container window=getContentPane();
window.setLayout(new FlowLayout());

label=new JLabel("how much is "+a+" times "+b+"");
window.add(label);

field=new JTextField(20);
window.add(field);
field.addActionListener(this);

button=new JButton(" OK ");
window.add(button);
button.addActionListener(this);

//label1=new JLabel("");
//window.add(label1);



public void actionPerformed(ActionEvent event) //静态方法play


int e=1;
while(e==1)

int d=1;
while(d==1)

int number = Integer.parseInt(field.getText());
int c=a*b;
if (c==number)

d=0;//结束本循环

else

d=1;

String message1=String.format("No.Please try again!");
JOptionPane.showMessageDialog( null, message1 );




String message2=String.format( "very good!");
JOptionPane.showMessageDialog( null, message2 );



一般情况下关不掉窗口有两种可能,
一种是你写了一句意思是 do nothing on close(具体代码我忘了)
一种是陷入了死循环失去响应了,比如说你这个e一直等于1,就死循环了。 我知道你什么意思,但是编译器不按你的意思做,他做完消息框后不等待而是继续下一个循环,说白了,程序不可控制了。
参考技术A 在外层while循环上边加一句 :b:
分别在两个 弹出消息框的语句后边加上break b;
参考技术B 死循环了 参考技术C 就这样

Python实例练手项目源码 - 关不掉的窗口

游戏效果

源码

from tkinter import *
class YouLikeMe:
    def __init__(self):
        window=Tk()
        label=Label(window,text='你是不是喜欢我?')
        self.btyes=Button(window,text='不是',height=1,width=6)
        self.btno=Button(window,text='是的',height=1,width=6)
        label.place(x=60,y=70)
        self.btyes.place(x=40,y=130)
        self.btno.place(x=120,y=130)
        self.btyes.bind('<Enter>',self.event1)#将按钮与鼠标事件绑定,<Enter>是指鼠标光标进入按钮区域
        self.btno.bind('<Enter>',self.event2)
        window.mainloop()
    def event1(self,event):#切换按钮文字
        self.btyes['text']='是的'
        self.btno['text']='不是'
    def event2(self,event):
        self.btyes['text']='不是'
        self.btno['text']='是的'

YouLikeMe()
window=Tk()
label=Label(window,text='关闭窗口也改变不了你喜欢我的事实')
label.place(x=2,y=80)
button=Button(window,text='确定',command=window.destroy)
button.place(x=80,y=150)
window.mainloop()

 

以上是关于Java 弹出的消息框关不掉的主要内容,如果未能解决你的问题,请参考以下文章

怎么将java web项目出错中弹出的来自网页信息框关掉!

在HTML中,运行下面的JavaScript代码,则在弹出的提示框中显示的消息内容为( )。

ASP中怎么弹出消息框

js中用confirm("str")弹出的消息框怎么设置按钮的文本

怎么用js做一个弹出消息提示框

JAVA咨询 消息框 最小化下能够弹出