给JList做个独立的语义事件监听器:
import java.awt.Cursor;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;class MouseHandler extends MouseAdapter{
  //...
  public void mouseEntered(MouseEvent e){
    //mouse entering the selection item;
  }
  public void mouseExited(MouseEvent e){
    //mouse exiting the selection item;
  } 
  //etc.
}然后在程序的JList上添加这个监听器:
//...
MouseHandler mouseHandler = new MouseHandler();
//...
JlistYours.addMouseListener(mouseHandler);
//...这样不管你什么击都可以监听

解决方案 »

  1.   

    另外问一下,一个list可以设置2个或者多个事件监听器吗?
      

  2.   

    你试试 mouseHandler.Clicks;
      

  3.   

    没有用过mouseHandler.Clicks啊,能否介绍一下
      

  4.   

    yourList.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                      if (2 <= e.getClickCount()) {//双击,可以把这段写成一个方法来调用
                         //do something
                      }
                }
            });
    右键页可以捕获的啊,SwingUtilities.isRightMouseButton(e)
      

  5.   

    SwingUtilities
    是什么意思,怎么用
      

  6.   

    list.addMouseListener(new MouseAdapter()
    {
    if((e.getButton() == MouseEvent.BUTTON1) && (e.getClickCount() == 2))
         {
           try {
             //get the selected user and create a new message pane
             if(list != null)
             {
               User user = (User) list.getSelectedValue();
               if (user.hasMessagePaneOpen() == false)
               {
                 MessagePane messagePane = new MessagePane(user);
                 MessagePanePool.addMessagePane(messagePane);
                 new Thread(messagePane).start();
               }
               else {
                 MessagePanePool.getMessagePaneByUser(user).toFront();
               }
             }
           }
           catch(Exception exception)
           {
             InformationDialog.showErrorDialog(null, "Message Dialog Initialization Error", true);
           }
    }我写的,其中具体的操作不用看。