我用java编写了一个通信程序。
当一个新用户与程序发起聊天,程序打开一个新窗口;N个新用户打开N个窗口;之后,每个窗口捕捉发送与对应用户的消息并予以显示。当某一用户发送消息来后,我对此窗口(JFrame)执行如下操作:
  this.setVisible(true);(我采用过别的方式,但都会出现下面问题)
目前,遇到一个问题,当有2个以上用户与程序聊天时(它们分别发送信息过来),我用鼠标切换点击所有聊天窗口,当对方发送消息过多时,所有窗口将不受控制,按某一顺序,一个接一个的不断显示到最前面来,出现循环,cpu使用率达到100%,而此时消息已经处理显示完毕。
  这个问题我就感到非常奇怪,因为逻辑上是没有问题的。但是出现了窗口不断切换显示到最前。
  请问:到底是什么原因出现死循环的呢?难道是setVisible的问题?
  有让窗口仅仅在任务栏中闪烁但是不显示到最前的方法吗?非常感谢!