I dont know what goes wrong here. Java 6 desktop applications could not use SCIM in ubuntu with LANG=zh_CN.GB18030. When I input a chinese character, it becomes to 2 english letters instead. I guess it's ubuntu's problem because SCIM works under Red Hat with same locale setting and java version.
So I changed locale to zh_CN.GBK and the problem was solved.
Another problem is that Java 6 applications conflict with eva. every time a message window pops up, the keyboard freezed in java (heavyweight?) window. I can only click on another (heavyweight) widget and navigate back to reactivate the keyboard.