javafx - 单击时,我的文本可以在下面显示更多文本吗?
问题描述
在我的应用程序中,我正在创建一个帮助页面,我想创建文本,当单击该文本时,它会在下面显示更多描述文本,而当再次单击标题/问题时,它会隐藏文本。这在许多常见问题解答页面上很常见,但我正在努力寻找在 JavaFX 上执行此操作的方法。
解决方案
你可以使用TitledPane
s:
Map<String, String> questions = new HashMap();
questions.put("Question 1", "Lorem ipsum dolor sit amet, consectetur"
+ "adipiscing elit, sed do eiusmod tempor incididunt ut labore"
+ "et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud"
+ " exercitation ullamco laboris nisi ut aliquip ex ea commodo"
+ " consequat. Duis aute irure dolor in reprehenderit in voluptate"
+ " velit esse cillum dolore eu fugiat nulla pariatur. Excepteur"
+ " sint occaecat cupidatat non proident, sunt in culpa qui"
+ " officia deserunt mollit anim id est laborum.");
questions.put("Question 2", "Not answered yet");
VBox content = new VBox();
questions.forEach((key, value) -> {
Label label = new Label(value);
TitledPane tp = new TitledPane(key, label);
tp.setExpanded(false);
label.setWrapText(true);
content.getChildren().add(tp);
});
您可能希望通过将以下样式表添加到场景中来使用 CSS 样式表来更改标题的样式:
.titled-pane > .title {
-fx-background-color: transparent transparent transparent;
}
推荐阅读
- python - 有什么方法可以预处理用 tensorflow_io.IODataset.from_hdf5 读取的数据
- python - 如何使用自定义值对熊猫行进行编码?
- angular - ngrx 选择器是否在初始加载时被调用一次
- python - 加载图像数据集
- python - Selenium 功能在点击前检查新鲜度以避免陈旧元素异常
- javascript - 如何使用 JQuery 打开弹出的 html 表格窗口?
- ios - 如何通过设置断点来捕捉按钮的触摸事件?
- r - 如何在 R 的 OMPR 包中定义 3D 变量?
- reactjs - 如何使用反应应用程序覆盖服务器默认的 404 错误消息
- php - 修改.htaccess文件后无法通过php中的GET方法获取值