实现代码如下:
MyButton.java文件代码:
import java.awt.*;
import java.awt.event.*;
public class MyButton extends Button {
private MyButton friend = null;
public MyButton(String title) {
// TODO Auto-generated constructor stub
super(title);
enableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);
}
public void setFriend(MyButton friend) {
this.friend = friend;
}
protected void processMouseMotionEvent(MouseEvent e) {
setVisible(false);
friend.setVisible(true);
}
}
TestMyButton.java文件里的代码:
import java.awt.*;
import java.awt.event.*;
public class TestMyButton extends Frame {
public TestMyButton() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Starting TestMyButton...");
TestMyButton mainFrame = new TestMyButton();
MyButton btn1 = new MyButton("你来抓我呀!");
MyButton btn2 = new MyButton("你来抓我呀!");
btn1.setFriend(btn2);
btn2.setFriend(btn1);
mainFrame.add(btn1, "North");
mainFrame.add(btn2, "South");
mainFrame.setSize(400, 400);
mainFrame.setTitle("TestButton");
mainFrame.setVisible(true);
btn2.setVisible(false);
}
}
控制台运行结果:
窗口的运行结果: