public ComboNavigable(Combo combo) {
   fCombo = combo;
   // workaround for bug 103630:
   fLastSelection = getSelection();
   fCaretPosition = fLastSelection.y;
   fCombo.addKeyListener(
       new KeyAdapter() {
         public void keyReleased(KeyEvent e) {
           selectionChanged();
         }
       });
   fCombo.addMouseListener(
       new MouseAdapter() {
         public void mouseUp(MouseEvent e) {
           selectionChanged();
         }
       });
 }