2016-12-27 4 views
0

Ich verstehe nicht, wie Sie die Zeile der JList löschen, die von delete-Taste gedrückt wird. Ich weiß, dass es sich anhört wie "schreibe für mich den Code bitte" aber .... es ist) Weil ich nicht weiß, ist es möglich, die tatsächliche Linie zu bestimmen und sie dann auf meine Handlungen zu antworten.Aktion beim Drücken der Taste auf bestimmte Zeile in jlist

Ich begann so etwas wie, dass ich keine Ahnung

Antwort

0

Angenommen, Sie verwenden alle ausgewählten Elemente löschen möchten, eine DefaultListModel und vorausgesetzt, Sie den Code, den Sie haben, um fortzufahren

list.addKeyListener(new KeyAdapter() { 
    public void keyReleased(KeyEvent e) { 
     if(KeyEvent.getKeyText(e.getKeyCode()).equals("Delete")) { 
      // removing  
     } 

    } 

}); 

aber, wie man schreibt Notwendigkeit ist

list.addKeyListener(new KeyAdapter() { 
    public void keyReleased(KeyEvent e) { 
     if(KeyEvent.getKeyText(e.getKeyCode()).equals("Delete")) { 
      // removing: 
      DefaultListModel lm = (DefaultListModel) list.getModel(); 
      for(int i : list.getSelectedIndices()) { 
       lm.remove(i); 
      } 
     } 
    } 
}); 

sonst:

  • , wenn Sie nicht alle ausgewählten Elemente entfernen wollte ich nicht verstehe Ihre Frage :(
  • wenn Sie kein DefaultListModel verwenden Sie die JList Klasse zu erweitern haben oder (besser) erstellen Sie Ihre eigene Implementierung von ListModel und erstellen Sie Ihre eigene Methode entfernen ...
+0

Vielen Dank! das ist, was ich wollte – user5675069

+0

Dann vote up :) –

+0

Ich kann nicht (. Mein Ruf ist weniger als 15, das ist, warum niemand meine Stimme sehen kann) – user5675069

Verwandte Themen