对于我的主应用程序,我需要一个用于导航目的的自定义容器,请参阅here(Stackoverflow)。
由于发布的解决方案对我不起作用(我尝试使用简单的System.out.println),我开始了一个新项目来理解容器嵌入是如何工作的,但它不能按照我的预期工作。
所以新的应用程序是带有橙色的Hi World应用程序。
我在GUI设计器中创建了一个新的空白容器,并添加了3个按钮。
我的StateMachine看起来像这样:
@Override
protected void onButtonCont_ButtonAction(Component c, ActionEvent event) {
System.out.println("button1 clicked");
}
@Override
protected void onButtonCont_Button1Action(Component c, ActionEvent event) {
System.out.println("button2 clicked");
}
@Override
protected void onButtonCont_Button2Action(Component c, ActionEvent event) {
System.out.println("button3 clicked");
}
(我创建的容器名为ButtonCont ..)在StateMachine或其他地方没有修改任何其他内容!
现在我启动了应用程序并单击了按钮 - 但没有任何反应。
所以我
现在我的StateMachine看起来像这样:
@Override
protected void onMain_Button2Action(Component c, ActionEvent event) {
System.out.println("button3 -now- clicked");
}
@Override
protected void onMain_Button1Action(Component c, ActionEvent event) {
System.out.println("button2 -now- clicked");
}
@Override
protected void onMain_ButtonAction(Component c, ActionEvent event) {
System.out.println("button1 -now- clicked");
}
(除了之前的onButtonCont-方法)
启动应用程序并单击按钮会产生以下输出:
button1 -now- clicked
button3 -now- clicked
button2 -now- clicked
我做错了什么?
答案 0 :(得分:1)
我自己找到了答案。
您只需添加一个嵌入式容器并选择“embedded | [null]”到您自己的容器
,而不是将容器添加到“用户定义”部分下的表单中。