2013-02-26 1 views
1
public static void populateJList(JList list) { 
     ArrayList<String> contents= DataAccess.getContents(); 
     DefaultListModel listModel = new DefaultListModel(); 
     for (String string : contents) { 
      listModel.addElement(string); 
     } 
     preset.setModel(listModel); 
} 

에 ToolTipText입니다 추가 I가, 내 JList를 채 웁니다 나는 JList의 모든 항목의 toolTipText을 추가 할 수있는 방법이이 방법?JList의 항목 (들)

답변

2
  1. JList의 getToolTipText (..) 메소드를 대체 할 수 있습니다.

  2. setToolTipText (...) 메소드를 호출하는 사용자 정의 렌더러를 사용할 수도 있습니다. 당신이 JList을 무시하지 않으려면

+0

ListCellRenderer의 경우 +1 – MadProgrammer

+0

목록 항목으로 여러 구성 요소가있는'JContainer'를 사용하는 경우'getToolTipText()'가 우선합니다. –

4

, 당신은 툴팁 텍스트를 JDK를 들어

jList.addMouseMotionListener(new MouseMotionAdapter() { 
     @Override 
     public void mouseMoved(MouseEvent e) { 
      JList l = (JList)e.getSource(); 
      ListModel m = l.getModel(); 
      int index = l.locationToIndex(e.getPoint()); 
      if(index>-1) { 
       l.setToolTipText(m.getElementAt(index).toString()); 
      } 
     } 
    }); 
0

을 변경할 MouseMotionAdapter을 사용할 수 있습니다> = 1.6, 약간 다른 구조가 필요하다 :

loggingList.addMouseMotionListener(new MouseMotionListener() { 

     @Override 
     public void mouseDragged(MouseEvent e) { 
      // no-op 
     } 

     @Override 
     public void mouseMoved(MouseEvent e) { 
      JList l = (JList) e.getSource(); 
      ListModel m = l.getModel(); 
      int index = l.locationToIndex(e.getPoint()); 
      if (index > -1) { 
       l.setToolTipText(m.getElementAt(index).toString()); 
      } 
     } 
    }); 
+0

마우스 MotionAdapter는, 벌써 오퍼레이션 메소드를 가지지 않는 추상 클래스이며, JDK 1.1 이후에 존재합니다 –