如:
我定义了一个节点类,包括了节点的id和一个msg属性。当鼠标点击该点时,改变msg的值package test;class Node extends JLabel implements MouseListener{
  String nodeId;
  String msg;
  public Node(String id) {
    super(id, new ImageIcon(), JLabel.CENTER);
    ImageIcon icon = new ImageIcon("images/Windows.gif");
    this.setIcon(icon);
    this.nodeId = id;
    this.msg = this.nodeId + " 还没被点击!" ;    
    this.addMouseListener(this);
  }  public void mouseClicked(MouseEvent e) {
    this.msg=this.nodeId + " 被点击过!";
  }
  public void mouseEntered(MouseEvent e) {
  }
  public void mouseExited(MouseEvent e) {
  }
  public void mousePressed(MouseEvent e) {
  }
  public void mouseReleased(MouseEvent e) {
  }
 
}容器的代码如下:
class GraphPanel extends JPanel{
  Node node ;
  JTextPane showMsgTxtPane;  public GraphPanel(){
     for(int i = 0 ;i < 5; i++){
       node = new Node("Windows" + i) ;       
       this.add(node);
     }
     showMsgTxtPane = new JTextPane();
     this.add(showMsgTxtPane);
  }
}我的问题是:当鼠标在GraphPanel中点击到每个Node时,GraphPanel中的showMsgTxtPane显示该Node中的msg。大哥们帮帮忙啦,先謝了!

解决方案 »

  1.   

    对话框对象用JOptionMenu生成,我没记错的话,用 java.util.*; 导入。改写代码:
    public void mouseClicked(MouseEvent e)
     {
         String str=new String();
         str=e.getAction .nodeId;
         //?e.getAction我忘了名字你把 e后的点打出来就看到了,获取产生事件的对象用的。
         JOptionMenu temp=new JOptionMenu(str); 
     }
      

  2.   

    我想要的不是在对话框里显示啊
    而是在Node的容器里显示的,那又该怎样实现啊?
      

  3.   

    参照责任链模式,将该事件传递给pannel执行。OVER。