2
나는 EMF 모델을 가지고 있는데, 여기에서 UI 폼을 생성하고 마법사에 임베드했다.EMFForms에 의해 생성 된 부울 값을 입력하는 컨트롤의 배경색을 사용자 정의하는 방법은 무엇입니까?
확인란이 흰색 배경으로 표시되며 (아래 참조) 좋지 않습니다.
?
BooleanControlSWTRenderer
하위 클래스를 사용해 보았지만 (아래 참조) 작동하지 않았습니다.
public class MyRenderer extends BooleanControlSWTRenderer {
@Override
protected Control createSWTControl(Composite parent, Setting setting) {
final Button check = new Button(parent, SWT.CHECK);
check.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_GRAY));
check.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_boolean"); //$NON-NLS-1$
return check;
}
}
업데이트 1 (2014년 5월 11일 17시 12분 MSK) : 작동하지 않습니다 또한 here을 제안 check.setBackground(null)
를 호출.
업데이트 2 (2014년 5월 11일 17시 34분 MSK) : 다음보기에서이
@Override
protected Control createSWTControl(Composite parent, Setting setting) {
Button check = new Button(parent, SWT.CHECK);
check.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_GRAY));
parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_GRAY));
parent.setBackgroundMode(SWT.INHERIT_FORCE);
check.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_boolean"); //$NON-NLS-1$
return check;
}
결과에 코드를 수정.
'setForeground' 대신'setBackground'가 작동해야합니다. –
그건 오타였습니다. 다시 setBackground로 변경하면 같은 결과를 얻습니다. –