我正在开发一个JavaFX应用程序,它将有几个选项卡窗格,我想设置为可见或隐藏使用复选框,它将发送布尔标志以呈现或不呈现组件。
复选框
final CheckMenuItem toolbarSubMenuNavigation = new CheckMenuItem("Navigation");
toolbarSubMenuNavigation.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent e)
{
// call here the getter setter and send boolean flag
System.out.println("subsystem1 #1 Enabled!");
}
});
选项卡窗格,它将侦听布尔属性:
public boolean renderTab;
public boolean isRenderTab()
{
return renderTab;
}
public void setRenderTab(boolean renderTab)
{
this.renderTab = renderTab;
}
tabPane.setVisible(renderTab);
复选框和选项卡窗格被隔离到不同的Java类中。每次检查或取消选中标志时,我都需要发送标志的值。你能告诉我如何使用getter和setter发送旗帜吗?
修改 的
我测试了这段代码:
final CheckMenuItem toolbarSubMenuNavigation = new CheckMenuItem("Navigation");
toolbarSubMenuNavigation.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent e)
{
boolean dcd = toolbarSubMenuNavigation.isSelected();
DataTabs nn = new DataTabs();
nn.setRenderTab(dcd);
// call here the getter setter and send boolean flag
System.out.println("subsystem1 #1 Enabled!");
}
});
和
public boolean renderTab;
public boolean isRenderTab()
{
return renderTab;
}
public void setRenderTab(boolean renderTab)
{
this.renderTab = renderTab;
}
但是当我切换复选框时,它无效。
答案 0 :(得分:1)
没有
为了得到那个eithr你需要有一个intance或者你需要在那里创建新的intance。
如果你在那里创建一个新对象,它将创建一个新的intance,这对你不再有帮助..
我想你唯一的方法就是将renderTab
作为静态字段并访问它。