我有一个使用许多复选框的javafx应用程序。选中复选框后,主窗口中将显示一个按钮。复选框设置为“false”将使按钮消失。很简单。
问题是复选框不记得它已被选中,并且应用程序总是以所选复选框开始,如fxml文件中定义的:
<CheckBox fx:id="googleHider" onAction="#hideGoogle" selected="true" text="Google">
由于我在谷歌上找不到任何令人满意的东西,我想出了一个原生的解决方案,设置了一个函数,直接在fxml文档中将复选框的选定状态设置为“真”或“假”,效果非常好。
我只是想知道这是否是一个简单有效的好做法,或者是否有人已经找到或可以想象出一个更优雅或简约的解决方案。(我以前的编程经验更多的是用Python,我不知道它是否显示出来。是否有一种更“Javaian”的方式…?)
boolean isSelected = googleHider.isSelected();
if (isSelected == false) {
System.out.println("not selected");
Path path = Paths.get("src/javafxapplication2/PopupFXML.fxml");
Charset charset = StandardCharsets.UTF_8;
String content = new String(Files.readAllBytes(path));
//following line changes the initial state of the checkbox from "true" to "false"
content = content.replaceAll("\"#hideGoogle\" selected=\"true\"", "\"#hideGoogle\" selected=\"false\"");
Files.write(path, content.getBytes(charset));
}
else {
System.out.println("selected");
Path path = Paths.get("src/javafxapplication2/PopupFXML.fxml");
Charset charset = StandardCharsets.UTF_8;
String content = new String(Files.readAllBytes(path));
// next line changes the state back from "false" to "true"
content = content.replaceAll("\"#hideGoogle\" selected=\"false\"", "\"#hideGoogle\" selected=\"true\"");
Files.write(path, content.getBytes(charset));
}
您可以创建共享引用并使用添加值。putBoolean()。
if(ch.isSelected()){
SharedPreferences settings = getSharedPreferences(PREFRENCES_NAME, 0);
settings.edit().putBoolean("check",true).commit();
}
你可以通过多种方式做到这一点。在下面提供的链接中,您将了解用户会话管理和活动间共享数据的基本概念。
http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/
我肯定会使用设置文件。这样的设置文件不应该位于您的应用程序中,因为您不能总是在执行应用程序时修改它。好的位置是AppData文件夹(在windows上)或用户目录(在linux和mac上)或保存应用程序的文件夹。
我写了一个小库来创建*. Properties
-file并将它们保存在AppData文件夹中(如果不在windows上,则保存在用户目录中),您也可以使用它:Common
问题内容: 有一个简单的方法来放置一个网页上的一个三态复选框,将其绑定到一个布尔模型,以便后者可以采取,或值? 到目前为止,我找到的最接近的解决方案是http://jsfiddle.net/HB7LU/454/,但是在设置初始视图状态时存在缺陷(因为在第一次渲染期间无法获取模型值)。任何其他建议都涉及多个子复选框,并通过监视它们来解决问题。 问题答案: http://jsfiddle.net/xJ
问题内容: 我有一个状态数组,比方说this.state.arr。我想向此状态属性添加一些内容,然后更改更多属性。 选项1 选项2 所以..我知道this.state应该被视为不可变的。但是可以像在选项1中那样使用它还是可以通过它设置状态,还是可以像在选项2中那样使用它,这样总是总是首先在内存中进行复制 问题答案: 使用concat的另一种简单方法:
问题内容: 复制列表的最佳方法是什么?我知道以下方法,哪种更好?还是有另一种方法? 问题答案: 如果要浅拷贝(不复制元素),请使用: 如果要进行深层复制,请使用复制模块:
本文向大家介绍jQuery切换所有复选框选中状态的方法,包括了jQuery切换所有复选框选中状态的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery切换所有复选框选中状态的方法。分享给大家供大家参考。具体如下: 这段代码非常简单实用,通过链接切换所有checkbox是否选中 希望本文所述对大家的jquery程序设计有所帮助。
我试图做的是,当按下主菜单上的按钮时,将设置菜单拉上(设置菜单作为独立于主菜单的活动实现)。为了简单起见,假设我的主菜单是空的,只有一个按钮打开设置菜单。在设置菜单中,有一个复选框和一个返回到主活动的“完成”按钮。 如何保存复选框并加载它(代码应该是什么,应该放在哪里,为什么等等)?我试着用谷歌搜索它,并试图复制结果,但我似乎无法得到它。到目前为止发生了两件事:没有保存任何内容,或者我的程序崩溃。
问题内容: 我正在使用hibernate+播放!框架在工作中,是否有使用“hibernate”插入大量记录的“最佳实践”?每个文本文件大约有6,000到10,000个,所以我不知道Hibernate是否会扼杀工作或引发异常。 任何建议都让我知道,如果需要进一步说明,请告诉我 问题答案: 在* Java Persistence and Hibernate(Manning)中,并在Pangea的评论之