swing 事件处理的时为什么会这样?

问题描述

packagecom.bonson.frame;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;/****@date2013-12-19下午11:44:33*@authorqinfz**/publicclassTestextendsJFrame{publicTest(){JButtonb=newJButton("确定");this.add(b);b.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){Test2.getInstance().setVisible(true);for(inti=0;i<1000;i++){for(intj=0;j<1000;j++){System.out.println(1);}}Test2.getInstance().setVisible(false);}});this.setBounds(100,100,200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);this.validate();}/***@date2013-12-19下午11:44:33*@authorqinfz*@paramargs*/publicstaticvoidmain(String[]args){newTest();Test2.getInstance().setVisible(true);for(inti=0;i<1000;i++){for(intj=0;j<1000;j++){System.out.println(1);}}Test2.getInstance().setVisible(false);}}classTest2extendsJFrame{privatestaticTest2t=newTest2();publicstaticTest2getInstance(){returnt;}privateTest2(){JLabelb=newJLabel("你好");this.add(b);this.setBounds(300,100,200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.validate();}}这段代码里主线程的Test2窗口能正常显示,但是test按钮的事件处理中test2窗口的组件不能正常显示,为什么?我的需求是用户点击保存按钮先打开一个请稍后的提示窗口,然后客户端将数据发到服务器端保存,服务器端返回数据后关闭提示窗口,可提示窗口的内容始终显示不出来

解决方案

解决方案二:
我运行了下,是可以显示出来的,只不过一直在刷新。你事件处理代码有问题吧。你for循环和Test2.getInstance().setVisible(true);在同一个线程里面。Test2窗口刚显示出来,线程就去打印for循环了,Test2窗口都死了!!!
解决方案三:
sing是单线程的注意

时间: 2025-01-21 03:27:47

swing 事件处理的时为什么会这样?的相关文章

j rame-javax.swing.JFrame? 关闭时怎么回到上一个窗口

问题描述 javax.swing.JFrame? 关闭时怎么回到上一个窗口 javax.swing.JFrame? J1: javax.swing.JFrame J2; 其中,j2是在j1中创建的,我想在J2关闭时,回到J1上,要怎么做?

swing 下载文件时的进度条

Java swing中经常要使用到进度条,比如下载文件和拷贝文件时显示进度,如下图所示:  下载完成之后: 难点在于:在读取输入流的时候,实时更新进度条.  我自己定了一个规则: (1) 若输入流的大小小于1024,则字节数组的长度就是输入流的大小. <!--[if !supportLists]-->(1)      (2) <!--[endif]-->获取文件的大小,并平分为100等份,得到商1: <!--[if !supportLists]-->(2)       

Swing开发界面时的一个bug复盘

  问题:QA突然发个截图说一个Dialog上展示的东西变形了 分析:不理解,什么也没做,怎么会变形,刚刚我用的时候还正常.看看代码,的确什么也没更改:在本地测一下,也没有问题:baidu,bing,stackoverflow下,没找到什么线索 突然看到一个ComboBox下面有一个item的值比较长, 布局使用的是GridBagLayout,也就是相对布局,如果设置Size是固定的,如果有一个控件变大,则整体的布局变形了 因此这个Combobox item的值比较长解决了,这个问题就解决了.

swing 退出时保存界面信息

1,swing工具启动时读取配置文件 Java代码   /***       * 读取配置文件       * @throws IOException       */       private void readConfig() throws IOException{           configFile=new File(configFilePath);           if(configFile.exists()){               InputStream inStr

使用Java Swing创建一个XML编辑器之三

如果你现在正在寻找一个跨平台.资源开放的XML编辑器的话,您可能很快就能够实现这个愿望了.在这个三部分系列文章中,我将带您利用一些最通常的Java 2 Swing组件开发一个简单的 XML编辑器.本系列将有益于那些想编写他们的自己的XML编辑器的朋友或者帮助您学习或温习Swing. 这是本系列的第三篇文章.在第一个篇文章中,我们简要地讨论了XML和为什么树形结构适合显示XML.如何处理XML 数据.如何使用JTree Swing组件,并且我们还构建一个可重用组件用来解析XML文件并在JTree中

元素的内联事件处理函数的特殊作用域在各浏览器中存在差异_javascript技巧

标准参考 无. 问题描述 在一个元素的属性中绑定事件,实际上就创建了一个内联事件处理函数(如<h1 onclick="alert(this);"...>...</h1>),内联事件处理函数有其特殊的作用域链,并且各浏览器的实现细节也有差异. 造成的影响 如果在元素的内联事件处理函数中使用的变量或调用的方法不当,将导致脚本运行出错. 受影响的浏览器 所有浏览器 问题分析 1. 内联事件处理函数的作用域链 与其他函数不同,内联事件处理函数的作用域链从头部开始依次是:

Java线程模型缺陷研究

Java 编程语言的线程模型可能是此语言中最薄弱的部分.它完全不适合实际复杂程序的要求,而且也完全不是面向对象的.本文建议对 Java 语言进行重大修改和补充,以解决这些问题. Java 语言的线程模型是此语言的一个最难另人满意的部分.尽管 Java 语言本身就支持线程编程是件好事,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境. 关于 Java 线程编程的大多数书籍都长篇累牍地指出了 Java 线程模型的缺陷,并提供了解决这些问题的急救包(Band-Aid/邦迪创可贴)类库.我

关于解决Java编程语言线程问题的建议

Allen Holub 指出,Java 编程语言的线程模型可能是此语言中最薄弱的部分.它完全不适合实际复杂程序的要求,而且也完全不是面向对象的.本文建议对 Java 语言进行重大修改和补充,以解决这些问题. Java 语言的线程模型是此语言的一个最难另人满意的部分.尽管 Java 语言本身就支持线程编程是件好事,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境. 关于 Java 线程编程的大多数书籍都长篇累牍地指出了 Java 线程模型的缺陷,并提供了解决这些问题的急救包(Band

Java线程模型缺陷_JSP编程

Java 编程语言的线程模型可能是此语言中最薄弱的部分.它完全不适合实际复杂程序的要求,而且也完全不是面向对象的.本文建议对 Java 语言进行重大修改和补充,以解决这些问题. Java 语言的线程模型是此语言的一个最难另人满意的部分.尽管 Java 语言本身就支持线程编程是件好事,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境. 关于 Java 线程编程的大多数书籍都长篇累牍地指出了 Java 线程模型的缺陷,并提供了解决这些问题的急救包(Band-Aid/邦迪创可贴)类库.我