我这个程序就两个按钮,开始的一个显示,一个不显示,让鼠标移动到显示的,则显示的隐藏,隐藏的显示
但不知道怎么回事:运行程序没有什么反应,大家看看那有问题
import java.awt.*;
import java.awt.event.*;
public  class MyButton extends Button
{
private MyButton friend;
public void setFriend(MyButton friend)
{
this.friend=friend;
}
public MyButton(String name)
{
super(name);
enableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);
}
protected void processMouseMotionEvent(MouseEvent e)
{
setVisible(false);
friend.setVisible(true);
}
public static void main(String args)
{
MyButton btn1=new MyButton("你来抓我呀!");
MyButton btn2=new MyButton("你来抓我呀!");
btn1.setFriend(btn2);
btn2.setFriend(btn1);
btn1.setVisible(false);
Frame f=new Frame("it315");
f.add(btn1,"North");
f.add(btn2,"South");
f.setSize(300,300);
f.setVisible(true);
btn1.setVisible(false);
}
}

解决方案 »

  1.   

    兄弟,我知道,这是张孝祥的,手把手的教,你这个应该protected void processMouseMotionEvent(MouseEvent e) 

    setVisible(false); 
    friend.setVisible(true); 

    这个有问题,中间要让线程停止运行几毫秒,我提示一下,你自己去在看一下!!
      

  2.   


    import java.awt.*;
    import java.awt.event.*;
    public  class MyButton extends Button
    {
    private MyButton friend;

    public void setFriend(MyButton friend)
    {
    this.friend=friend;
    }

    public MyButton(String name)
    {
    super(name);
    enableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);
    }

    protected void processMouseMotionEvent(MouseEvent e)
    {
    setVisible(false);
    friend.setVisible(true);
    }

    public static void main(String[] args)
    {
    MyButton btn1=new MyButton("你来抓我呀!");
    MyButton btn2=new MyButton("你来抓我呀!");
    btn1.setFriend(btn2);
    btn2.setFriend(btn1);

    Frame f=new Frame("it315");
    f.add(btn1,BorderLayout.NORTH);
    f.add(btn2,BorderLayout.SOUTH);
    f.setSize(300,300);
    f.setVisible(true);
    f.validate();//这句加上
    btn1.setVisible(false);
    }
    }
      

  3.   

    谢谢这会兄弟,我这句话
    public static void main(String args) 
    打错了,改了就好了
    public static void main(String []args) 
    交个朋友吧,我这本书有个问题,还希望你能提示提示,^_^
      

  4.   

    那个f.validate()
    也必须要的非常乐意交朋友
    我只在看core java
    估计没看过你要说的书你可以说下问题让大家一起看啊
      

  5.   

    谢谢了,刚去文档看validate()
    我看完了书,没有感觉怎么办,我还有个问题请教你
    http://topic.csdn.net/u/20090322/10/d7222322-7401-4abb-8403-0c7755662003.html?seed=94698732