2013-09-23 4 views
0

목록을 사용하는 j2me LWUIT 앱이 있습니다. 목록의 각 셀에는 이미지와 텍스트 영역이 있습니다. TextArea는 커지지 않습니다. 목록에서 모든 셀이 일정한 크기 여야한다는 것을 읽었으므로 ContainerList를 사용해야합니다.LWUIT : 목록의 여러 줄 TextArea. ContainerList를 사용하여 해결되지 않음

ContainerList With 동일한 문제가 발생했습니다! 내 TextAreas는 성장하지 않습니다. 다음은 TextArea를 만드는 위치입니다.

TextArea caption = new TextArea(); 
    caption.getStyle().setBgTransparency(255); 
    caption.getStyle().setBgColor(0x060507); 
    caption.getStyle().setBorder(null); 
    caption.getStyle().setFgColor(0xf0f0f0); 
    caption.getStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM)); 
    caption.getStyle().setMargin(0,10,10,10); 

    caption.setText(m.caption_text); 
    caption.setGrowByContent(true); 
    caption.setSingleLineTextArea(false); 
    cellCon.addComponent(caption); 

cellCon은 세로 BoxLayout입니다. 이미지를 제거하더라도 여전히 확장되지 않습니다. cellCon을 변경하여 BorderLayout을 사용하고 이미지 NORTH와 TextArea를 남겨두면 TextArea는 확장되지만 이미지가 겹쳐집니다 (마치 균일 한 높이를 유지하려고하는 것처럼).

list = new ContainerList(new BoxLayout(BoxLayout.Y_AXIS),new DefaultListModel(data)); 

가 어떻게이 일을 어떻게해야합니까 :

나는이 같은 ContainerList을 만드는 오전?

+0

또 다른 질문을 던지려면 – Mun0n

+0

새 질문에 넣고 질문하십시오. 왜 ContainerList를 사용하고 있습니까? 간단한 목록이 UI에 맞지 않습니까? – Mun0n

+0

답변 해 주셔서 감사합니다. 분명히 List는 각 셀의 높이가 같아야합니다. 분명히, 가변 크기의 TextAreas에서는 작동하지 않습니다. 나는 나중에 기회가있을 때 당신의 대답에서 몇 가지 제안을 시도 할 것입니다. –

답변

0

분명히 growByContent가 ContainerList에서 작동하지 않습니다. 궁극적으로 컨테이너 컨테이너를 사용하는 대신 ContainerList를 포기해야했습니다. 이 컨텍스트에서 growByContent는 올바르게 작동합니다.

0

분리형 또는 결합 형으로 2 가지 방법으로 시도 할 수 있습니다.

구성 요소의 생성자에 TextArea의 텍스트를 설정하십시오. 내 말은

TextArea caption = new TextArea(m.caption_text); 

일반적으로 생성자에서 텍스트를 설정할 때 잘 작동합니다. TextArea의 크기가 필요에 따라 조정됩니다. 이걸 사용하고 싶지 않으면. TextArea을 만들고 뒤, 행 및 열을 setRows()setColumns()으로 설정할 수 있습니다. 왜 그런지 모르지만 TextArea 크기 조정이 잘 작동하지 않습니다.

다른 권장 사항은 레이아웃을 BorderLayout으로 설정하고 이미지를 가운데 및 남쪽의 텍스트로 설정할 수 있습니까?

+0

생성자에서 텍스트를 설정해도 차이가없는 것처럼 보입니다 –

+0

BorderLayout 제안을 수행하면 TextArea가 확장되지만 위쪽으로 확장되어 이미지의 일부를 덮는 것처럼 보입니다. 얼마나 많은 이미지가 포함되는지는 선의 수에 달려 있습니다 ... TextArea의 마지막 줄은 항상 첫 번째 선을 원하는 이미지 바로 아래에있는 것처럼 보입니다. 이것은 처음에 List 또는 ContainerList가 균일 한 셀 높이를 가졌다 고 생각하게했습니다. –

+0

요소의 높이가 다른 목록을 원할 경우 목록 구성 요소를 사용하지 마십시오. 컨테이너를 만들어 BoxLayout Y에 넣습니다. 높이가 다른 요소를 설정하는 유일한 방법 – Mun0n