2013-07-25 19 views
8

JList'u nasıl değiştireceğimi merak ediyorum, böylece herhangi bir değeri tıklama hiçbir şey yapmaz. Diğer sorulara baktım ama hiçbiri yardım etmedi. Burada sınıf örneğiJList Değerlerini Ayrılmaz Yapın

class DisabledItemSelectionModel extends DefaultListSelectionModel { 

    @Override 
    public void setSelectionInterval(int index0, int index1) { 
     super.setSelectionInterval(-1, -1); 
    } 
} 

: En JList içinde nesneleri varsayarsak

cevap

9

devre dışı bırakmak istediğiniz tüm nesnelerde setEnabled(false) yapın tıklanabilir öğelerdir :

console.setSelectionModel(new DisabledItemSelectionModel());

+3

Bu yöntem, seçim modeli "SINGLE_SELECTION" olarak ayarlanmadığı sürece kullanıcının CTRL + Mouse1 tıklama ile öğeleri seçmesine izin verir. – Dev

+0

Benim için seçim modunu (!) 'SINGLE_SELECTION' olarak ayarlamak onu engellemez. Ancak 'public.deSelectionInterval (-1, -1) ile 'public void addSelectionInterval (int index0, int index1)' geçersiz kılar. – Bowi

1

Sadece benim şu sınıfını kullanarak bu çözüldü

+0

@HovercraftFullOfEels Ben JList için dizeleri yazıyorum, bu yüzden dizeler devre dışı hiçbir yolu yoktur. – nrubin29