2016-03-28 14 views
0

İş için oluşturduğum bir programım var. Bu program yüklenen bir dosyayı alır, okur ve verileri GUI'de bir JList'e yerleştirir. GUI aslında iki listeye sahiptir ve kullanıcı, bir JList ile her zamanki gibi vurgulayarak ve ardından öğeleri taşımak için bir okla vurgulayarak öğeleri sol ve sağ liste arasında taşıyabilir. Listeler çok aralıklı seçimdir.JList öğeleri için dinamik olarak bir sayaç gösteriliyor

Eklemek istediğim küçük bir eklenti, kullanıcıya listeleri arasında gerçekten taşımadan önce kaç öğe seçtiklerini gösteren bir sayaç türüdür. Bunun dinamik olması gerekir, böylece kullanıcı kontrol altındaysa ve tıklamaya başlarsa vurgulanan öğelerin sayısını güncellemeye devam eder. Listeler genellikle oldukça büyük olduğundan ve bir kullanıcı listelerin arasındaki tek sayıda işlemin hareket ettirilmesi gerektiğinden (soldaki listede 300 adet işlem ve tam olarak 50'yi taşıması gerekir) bu sayacın olması faydalı olabilir. .

Bunun nasıl yapılabileceğini düşünen var mı? Öğeleri tıklamak için bir eylem dinleyicisi ekleneceğinden emin değilim. Daha fazla detaylandırmam gerekirse lütfen bana bildirin.

Genelde sorum, bir kullanıcının bir JList'te geçerli seçili endeksler için bir sayacı güncelleyen bir öğeyi tıklatması durumunda bir eylem dinleyicisi oluşturabilir miyim? Ayrıca artık bir endeks seçmediklerinde değişmek zorunda kalacaklar.

+0

Ben düzgün "doğru" gözler bu mümkün olduğunu düşünmüyordu dürüstçe bana iyi bir başlangıç ​​yer verir –

cevap

3

ListeSelectionListener öğesini JList ile kaydedin.

Dinleyici sadece kaç satırın seçildiğini sorgulayabilir ve paneldeki sayıyı bu şekilde güncelleyebilir. Belki de getSelectedValues ​​(). Size() kullanın.

http://docs.oracle.com/javase/8/docs/api/javax/swing/JList.html#addListSelectionListener-javax.swing.event.ListSelectionListener-

+0

Teşekkür ulaştığında yüzden de _swing_ ile bu etiketleme önermek ama için tekrar teşekkür ederim Başlamak için bana bir yer veriyor. – jesric1029

İlgili konular