2017-09-26 73 views
0

我在我的項目中使用Vaadin ComboBox,現在我遇到了一個新問題,它不允許我在單擊組合框或單擊組合框後打開組合列表DropDown圖標! 我可以鍵入ComboBox並使用鍵盤上的箭頭鍵打開ComboBox列表,但不能單擊。 我發現,當我把鼠標指針放在ComboBox的特定區域頂部時,指針會變成一個Hand,然後我可以點擊打開列表,但在這種情況下,它發生的事情很少,我可以集中鼠標指針,就像整個ComboBox上的一個小點。Vaadin ComboBox不允許我點擊

,我使用這個組合框的唯一代碼,編輯:

public class ChildElement extends OgsAbstractForm<Child> { 

    @Inject 
    ChildFacade childFacade; 

    ComboBox cbChild=new ComboBox(); 
    HorizontalLayout mainLayout=new MHorizontalLayout(); 

@Override 
protected Component createContent() { 

    List<Child> children=new ArrayList<Child>(); 
    children.addAll(childFacade.findAll()); 

    for(int i=0;i<children.size();i++){ 
     cbChild.addItem(children.get(i).getName()); 
    } 

    cbChild.select(children.get(0).getName()); 

    cbChild.setFilteringMode(FilteringMode.CONTAINS); 


    mainLayout.addComponent(cbChild); 
    return mainLayout; 
} 

} 

然後我像下方查看使用該元素,

public class OGSVertragView extends CssLayout implements View{ 

@Inject 
ChildElement childElement; 

VerticalLayout main=new VerticalLayout(); 

@PostConstruct 
void init() { 

    main.addComponent(childElement); 

    addComponents(main); 

} 
} 

這將是非常很好,當有人能以某種方式給我一個線索或幫助我。

最好的問候!

+0

什麼是'cbKinder'? – Shirkam

+0

對不起,我將元素名稱從德文更改爲英文,並忘記了一個:D @Shirkam –

+0

您正在使用哪個版本的Vaadin? – Shirkam

回答

0

找你喜歡你ComboBox沒有足夠的空間。 嘗試設置mainLayout像200-300像素的高度,並確保VerticalLayout main將給`mainLayout足夠的空間。 也嘗試添加:

cbChild.setImmediate(true); 

+ Small tip about initializing variables

+0

非常感謝!它不是'cbChild.setImmediate(true);'但寬度,cbChild的寬度大小爲100%,也是它的父級佈局。 –

+0

我只是改變了寬度而不是100%到100px,它的工作原理。 –

+0

但我怎麼能用百分比來代替像素呢?任何想法? –