我正在尝试使用环境服务实现一个简单的TabGroup .我的代码看起来像这样:
public class TabPanel
{
...
@Inject
private Environment environment;
...
void beginRender()
{
environment.push(TabContext.class, new TabContext()
{
public boolean isActiveTab(String tabId)
{
return active != null && active.equals(tabId);
}
});
}
}
public interface TabContext
{
boolean isActiveTab(String tabId);
}
public class Tab
{
...
@Environmental
private TabContext tabContext;
@Inject
private ComponentResources resources;
...
private boolean isActiveAndEnabled()
{
return tabContext.isActiveTab(resources.getId()) && !disabled;
}
}
Run Code Online (Sandbox Code Playgroud)
执行此代码时,它会抛出以下异常:
java.lang.ClassFormatError: Illegal field modifiers in class TabContext
Run Code Online (Sandbox Code Playgroud)
我在旧线程中找到了部分答案:"......这样的接口不应该在组件包中开始."
我的问题是:我应该在哪里移动TabContext界面?
遵循规则#1我发布整个堆栈跟踪:
java.lang.ClassFormatError: …Run Code Online (Sandbox Code Playgroud)