2017-09-26 8 views
0

내 프로젝트에서 Vaadin ComboBox를 사용하고 있습니다. 이제는 ComboBox를 클릭하거나 ComboBox를 클릭 한 후 Combo의 목록을 열 수없는 새로운 문제가 발생했습니다. 드롭 다운 아이콘! ComboBox에 입력 할 수 있으며 키보드의 화살표 키를 사용하여 ComboBox 목록을 열 수 있지만 클릭하지는 마십시오. ComboBox의 특정 영역 위쪽에 마우스 포인터를 놓으면 포인터가 손 모양으로 바뀌고 클릭으로 목록을 열 수 있지만 그 경우에는 초점이 맞지 않는 경우가 드뭅니다. 해당 영역에 마우스 포인터가 있으면 전체 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 % 대신 100 %로 너비가 변경되어 작동합니다. –

+0

하지만 픽셀 대신 백분율로 어떻게 처리 할 수 ​​있습니까? 어떤 아이디어? –