import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class MoveMessageDemo extends JFrame{
public MoveMessageDemo(){
MoveMessagePanel p = new MoveMessagePanel("welcome to java");
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p);

}
public static void main(String[] args){
MoveMessageDemo frame = new MoveMessageDemo();
frame.setTitle("MoveMessageDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100,80);
frame.setVisible(true);

}
}     class MoveMessagePanel extends MessagePanel
implements MouseMotionListener{
public MoveMessagePanel(String s){
super(s);
this.addMouseMotionListener(this);

}
public void mouseMoved(MouseEvent e){

}
public void mouseDragged(MouseEvent e){
setXCoordinate(e.getX());
setYCoordinate(e.getY());
}
}

解决方案 »

  1.   

    你的MessagePanel 是什么来的啊?都没看到它
      

  2.   

    getContentPane().add(p, BorderLayout.CENTER); 
      

  3.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class MoveMessageDemo extends JFrame{
    public MoveMessageDemo(){
    MoveMessagePanel p = new MoveMessagePanel("welcome to java");
    getContentPane().setLayout(new BorderLayout());
    getContentPane().add(p);}
    public static void main(String[] args){
    MoveMessageDemo frame = new MoveMessageDemo();
    frame.setTitle("MoveMessageDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(100,80);
    frame.setVisible(true);}
    }    class MoveMessagePanel extends MessagePanel
    implements MouseMotionListener{
    public MoveMessagePanel(String s){
    super(s);
    this.addMouseMotionListener(this);}
    public void mouseMoved(MouseEvent e){}
    public void mouseDragged(MouseEvent e){
    setXCoordinate(e.getX());
    setYCoordinate(e.getY());
    }
      

  4.   

    乍看没问题,除非你贴出MessagePanel。