当前位置: 技术问答>java相关
一个奇怪的问题:马上给分
来源: 互联网 发布时间:2015-10-20
本文导语: 这个问题已困扰我很久,期待你的帮助。 以下是代码(要看问题,下面有); import java.net.*; import java.io.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; class NoBelieve { JTextField ta; NoBelieve() { JFrame myFrame=...
这个问题已困扰我很久,期待你的帮助。
以下是代码(要看问题,下面有);
import java.net.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class NoBelieve
{
JTextField ta;
NoBelieve()
{
JFrame myFrame=new JFrame("NO,I don't Believe");
myFrame.getContentPane().setLayout(new FlowLayout());
ta=new JTextField();
MyMouseListener ml=new MyMouseListener();
ta.addMouseListener (ml);
ta.setText("waiting for your click,then hiding?");
myFrame.getContentPane().add(ta);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
class MyMouseListener extends MouseAdapter
{
public void mouseClicked(MouseEvent me)
{
ta.setText("Now I display something on screen,can you look it?");
try{
Thread.sleep(5000);
}
catch(Exception ee){System.out.println (""+ee);}
}
}
}
class testing
{
public static void main(String args[])throws Exception
{
new NoBelieve();
}
}
/////////问题:
为什么在mouseClicked(MouseEvent me)中第一句已经执行(可以看到“od”),
但在屏幕上却看不到?
谢谢。
以下是代码(要看问题,下面有);
import java.net.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class NoBelieve
{
JTextField ta;
NoBelieve()
{
JFrame myFrame=new JFrame("NO,I don't Believe");
myFrame.getContentPane().setLayout(new FlowLayout());
ta=new JTextField();
MyMouseListener ml=new MyMouseListener();
ta.addMouseListener (ml);
ta.setText("waiting for your click,then hiding?");
myFrame.getContentPane().add(ta);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
class MyMouseListener extends MouseAdapter
{
public void mouseClicked(MouseEvent me)
{
ta.setText("Now I display something on screen,can you look it?");
try{
Thread.sleep(5000);
}
catch(Exception ee){System.out.println (""+ee);}
}
}
}
class testing
{
public static void main(String args[])throws Exception
{
new NoBelieve();
}
}
/////////问题:
为什么在mouseClicked(MouseEvent me)中第一句已经执行(可以看到“od”),
但在屏幕上却看不到?
谢谢。
|
AWT事件线程(适用于AWT和Swing用户界面)同时负责事件响应和绘制组件。只要线程忙于事件处理,就无法重画用户界面,直到事件处理结束。