2016-03-31 21 views
0

java vaadin'de olay dinleyicisini OptionGroup'a nasıl ekleyebilirim? i star puanı MySQL değer saklayabilir, böylece radion düğmesini değerini seçme konusunda dinleyicinin eklemek istediğiniz Yukarıdaki örnekteJava Vaadin'deki optionsGroup seçeneklerine dinleyici nasıl eklenir?

  OptionGroup group = new OptionGroup("Star Rating"); 
      group.addItem("1 star"); 
      group.addItem("2 star"); 
      group.addItem("3 star"); 
      group.addItem("4 star"); 
      group.addItem("5 star"); 
      group.addStyleName("horizontal"); 
      group.setSizeUndefined(); 

. Bunu nasıl uygulayabilirim?

+1

Merhaba ve hoş geldiniz. Şimdiye kadar neler denediniz ve hangi sorunlarla karşılaştınız? Ayrıca, bazı _sweet eye-candy_ sunan [RatingStars eklentisini] (https://vaadin.com/directory#!addon/ratingstars) adresine göz atmak isteyebilirsiniz. – Morfic

+0

@Morfic rating star, vaadin kullanıyorum, ancak benim durumumda, sayfamın dinamik ve içerik aramaya göre oluşturulduğu için mysql içinde yıldız değerini kaydetmem gerekiyor. Mysql'de yıldız değeri için bunu nasıl özelleştirebilirim ki yıldız değerinin seçilmesi için ortalama yıldız değerinin düşürülmesi gerekir. –

+0

[http://teemu.virtuallypreinstalled.com/RatingStars/] [http://teemu.virtuallypreinstalled.com/RatingStars/] 'a benzer bir şey yapmaya çalıştığınıza inanıyorum. Bu, kaynaklardan ilham alabileceğiniz anlamına gelir (https: // github. com/tehapo/RatingStars/blob/master/demo/org/vaadin/teemu/rating/RatingStarsDemo.java), daha spesifik olarak, "Andre Schild ** 'inkine benzer bir işleyiciyle" özel geçersiz populateTable() "yöntemi cevabında yayınlandı. Başka sorunlarınız varsa lütfen bize bildirin. – Morfic

cevap

2

Çoğu giriş bileşeninde ValueChangeListener ekleyebilirsiniz.

javadoc'a göre, OptionGroup buna da sahiptir.

Yani kod şuna benzer: odağı kaybolur veya başka bir etkileşim olur dek

group.setImmediate(true); 
group.addValueChangeListener(new ValueChangeListener() 
    { 
     @Override 
     public void valueChange(Property.ValueChangeEvent event) 
     { 
      // Handle value change 
     } 
}); 

setImmediate(true);

, aksi olay gecikir önemlidir.

+0

Bir bileşene ValueChangeListener eklenmesi onu son 7 sürümde dolaylı olarak anında yapar. –

+0

Ek bilgi için teşekkürler –