나는 MultiButton
을 동적으로 추가했으며 각각은 새로운 ActionListener
을 가지고 있습니다. ActionListener
이 Component
이라면 실제로는 MultiButton
개체가 아닙니다. 즉, 멀티 버튼에 캐스트하면 ClassCastException
은 Button
에서 MultiButton
으로 변환 할 수 없습니다.ActionEvent 구성 요소의 유형이 잘못 되었습니까?
대신 MultiButton
을 얻을 수있는 방법이 있습니까? 아니면 바보 같은 짓을 한거야?
코드 : 당신이 codenameone의 멀티 버튼의 소스를 보면,이 방법 볼 수
Container cBob = findContainerBob(f);
cBob.removeAll();
for (String str : things) {
MultiButton mb = new MultiButton();
mb.setTextLine1(str);
mb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
MultiButton clickedMb = (MultiButton)evt.getComponent(); // Throws exception
});
cBob.addComponent(mb);
}
, 당신은'null' 가치를 얻을하지 않습니다 - 당신은'ClassCastException'를 얻을 : 은 사용해야 가능한 멀티로 버튼을 얻을 수 있습니다. 따라서 귀하의 설명이 이해가되지 않아 귀하를 도울 수 없습니다. –
오. 예. 나는 그것을 의미했다. 질문이 업데이트되었습니다. 개인 기억 장치 오류 : 실제로 금요일에 쓰기 시작한 질문이었고, 정확한 증상을 잘못 기억했습니다! - 아직도 일반적인 문제는 여전히 동일합니다 - 왜 그것이 잘못된 유형입니까? – noelicus
정확한 'MultiButton'은 무엇입니까? 그것은 표준 구성 요소가 아닙니다 –