- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 TitledPane
,里面有 ListView
,当我折叠 titledPane 并展开它后,列表不再可见,但它仍然在某处。如果我调整 titledPane 的大小(通过调整应用程序窗口的大小),它会重新出现。我需要立即重新出现列表,而且最终这个 titledPane 将具有固定大小,没有缩放/增长,因此即使调整大小也不起作用。
如何使列表在展开 titledPane 后立即重新出现?
fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane maxHeight="560.0" maxWidth="1000.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.humandevice.drive.fx.controller.MainWindowController">
<children>
<GridPane layoutX="-159.0" layoutY="-131.0" prefHeight="560.0" prefWidth="1000.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="-Infinity" minWidth="201.0" prefWidth="201.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="-Infinity" minWidth="-Infinity" prefWidth="3.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<HBox alignment="CENTER" spacing="50.0" style="-fx-background-color: GREY;" GridPane.columnIndex="2">
<children>
<Button fx:id="goBack" disable="true" mnemonicParsing="false" onAction="#previousScreen" text="%buttons.back" />
<Button mnemonicParsing="false" onAction="#openSettingsWindow" text="%buttons.settings" />
<Button fx:id="setPublicScreen" mnemonicParsing="false" text="Public" />
<Button fx:id="setWelcomeScreen" mnemonicParsing="false" text="Welcome" />
<Button fx:id="logoutButton" mnemonicParsing="false" onAction="#logout" text="Logout" />
</children>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</HBox>
<GridPane fx:id="contentPane" GridPane.columnIndex="2" GridPane.rowIndex="1">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
<Separator orientation="VERTICAL" prefHeight="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1" GridPane.rowSpan="2147483647" />
<VBox alignment="TOP_CENTER" GridPane.rowSpan="2147483647">
<children>
<TitledPane animated="false" text="%labels.mypis">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<ListView fx:id="userPisListView" layoutY="-47.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</children>
</AnchorPane>
</content>
<VBox.margin>
<Insets />
</VBox.margin>
</TitledPane>
<TitledPane animated="false" text="placeholder">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
<VBox.margin>
<Insets />
</VBox.margin>
</TitledPane>
</children>
</VBox>
</children>
</GridPane>
</children>
</AnchorPane>
Controller :
package com.humandevice.drive.fx.controller;
//imports
public class MainWindowController implements Initializable {
@FXML
public static GridPane contentPane, previousScreen = Main.welcomeScreen;
@FXML
public static Button goBack, setWelcomeScreen, setPublicScreen,
logoutButton;
@FXML
ListView<String> userPisListView;
@Override
public void initialize(URL url, ResourceBundle res) {
listUserPis();
FXMLLoader loader = new FXMLLoader();
GridPane content = new GridPane();
if (Main.lang.equals("pl"))
loader.setResources(ResourceBundle.getBundle(
"com.humandevice.drive.fx.bundles.messages", new Locale(
"pl", "PL")));
else
loader.setResources(ResourceBundle.getBundle(
"com.humandevice.drive.fx.bundles.messages", new Locale(
"en", "EN")));
try {
content = (GridPane) loader.load(Main.class.getResource(
"/com/humandevice/drive/fx/view/WelcomeView.fxml")
.openStream());
} catch (IOException e) {
e.printStackTrace();
}
content.setAlignment(Pos.TOP_RIGHT);
contentPane.add(content, 0, 0);
setWelcomeScreen.addEventHandler(ActionEvent.ACTION,
new ContentChangeHandler());
setPublicScreen.addEventHandler(ActionEvent.ACTION,
new ContentChangeHandler());
userPisListView.getSelectionModel().selectedItemProperty()
.addListener(new ChangeListener<String>() {
@Override
public void changed(
ObservableValue<? extends String> observable,
String oldValue, String newValue) {
updateActivePi();
changeActivePiScreen();
}
});
}
/**
* TODO Zaladowanie aktywnego Pi na MyPiView
*/
protected void changeActivePiScreen() {
}
/**
* TODO zmiana aktywnego PI w Main na podstawie nazwy z userPis
*/
protected void updateActivePi() {
}
public void listUserPis() {
ObservableList<String> piNames = FXCollections.observableArrayList();
for (PI pi : Main.userPis) {
piNames.add(pi.getDeviceName());
}
userPisListView.setItems(piNames);
}
@FXML
public static void openSettingsWindow() {
Stage settingsStage = new Stage();
settingsStage.setTitle("Settings");
FXMLLoader loader = new FXMLLoader();
loader.setLocation(Main.class
.getResource("/com/humandevice/drive/fx/view/SettingsView.fxml"));
if (Main.lang.equals("pl"))
loader.setResources(ResourceBundle.getBundle(
"com.humandevice.drive.fx.bundles.messages", new Locale(
"pl", "PL")));
else
loader.setResources(ResourceBundle.getBundle(
"com.humandevice.drive.fx.bundles.messages", new Locale(
"en", "EN")));
GridPane root = new GridPane();
try {
root = (GridPane) loader.load();
} catch (IOException e) {
e.printStackTrace();
}
Scene settingsScene = new Scene(root);
settingsStage.setScene(settingsScene);
settingsStage.show();
}
@FXML
public static void previousScreen() {
System.out.println("Wracam na poprzedni ekran");
MainWindowController.contentPane.getChildren().set(0, previousScreen);
goBack.setDisable(true);
}
@FXML
public void logout() {
try {
Main.logout();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结构:
这就是它的样子。无法工作的 ListView 位于左上角。
最佳答案
它是由您与 listview 一起使用的 static 修饰符引起的。静态变量可与 JavaFX 2.2 中的 FML 配合使用。它在 JavaFX 8 中不起作用。做成这样,
private ListView<String> userPisListView;
还要从方法中删除静态以避免兼容性问题。
关于JavaFX TitledPane 内容在折叠后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27546389/
我使用 vanilla JS 通过 AJAX 向数据库发送请求。数据写入数据库没有问题。在刷新页面之前,我看不到被放入数据库中的内容。当我删除内容时也会发生同样的情况,我必须刷新才能看到内容消失了。
抱歉,这篇文章很长,我试图提供所有信息并解释我已经尝试过的内容。 问题: 我将经典的 Phoenix View 放入实时 View 中。虽然一切看起来都很好,但 echart 一完成绘制就消失了。好像
搜索了一下,没有找到我要找的东西。我有两个按钮,单击一次即可拉出两个不同的选择框,第二次单击它们就会消失。但是,我希望选择框 1 在单击按钮 2 时消失,反之亦然:选择框 2 将在单击按钮 1 时消失
我正在尝试使用自动布局使用“浮动”标题构建滚动视图。更确切地说,我正在尝试建立包含几列的日历视图。这些列中的每个列都应具有自己的标题,该标题应浮动在顶部,而该列可以垂直滚动到其下方。 如果一切正常,则
我正在尝试模仿星星背景。 星星是在加载时创建并随机散布在整个网站上的。到目前为止我已经调整了一些代码。 var star="•"; var numStars=100; for(var x=1;x•";
我查遍了整个网络,但找不到解决方案。我对 jQuery 也很陌生。 我的案例: 我有一个导航栏,其中的每个链接都会激活/触发一个megamenu(每个链接都有自己的megamenu)。 我需要什么:
我有一个可扩展的 ListView ,当我点击一行时,它会触发 onChildClick 或 onGroupClick,具体取决于我点击的是子项还是组。 如果我在 xml 布局文件中添加可点击的内容(
在我的程序中,我有一个 NSMutableData 变量,用于收集来自 http://www.nhara.org/scored_races-2013.htm 的信息。 .大约第三次从网站获取信息后,当
我一直在完美地使用 Genymotion,但是从最近几天开始我的 Genymotion 并打开它的 GPS 开始,我的 Genymotion 突然消失了。但是我的 eclipse 显示 Genymot
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
所以我的 Item::return_all() 有问题,因为我在 main.cpp 中调用它。早些时候我在 read_file() 和 for (auto data : example_item) 中
所有 UITableCells 在 UITableView 中滚动和触摸时消失。一切都以编程方式完成,我使用标准的 UITableViewCell 类。 我在某处读到包含我的单元格数据的数组可能被清空
我对 Swift 还很陌生。我的问题是我的 UICollectionView 正在消失。在 Xcode 中,它显示一切就绪,但当我在模拟器或设备上启动时,它消失了,只剩下导航栏和标签栏。 有谁知道是什
这是 this one的续题。较早的问题是在复选框上。但是后来我根据要求把check box改成了radio buttons。 现在我需要显示子单选按钮并在母单选按钮处于事件状态时更改背景颜色。一旦它
我用 JS 写了一个简单的脚本。当我将它放入 html 文档(在 body 标签的底部)时,它工作正常。当我尝试将它放入外部文档并链接它时,脚本运行但 canvas 元素消失(刚刚检查:当我将脚本放在
我正在尝试创建一个带有固定元素的滚动页面,当用户向下滚动页面时,该元素“始终”可见。例如,带有道路背景的汽车图像。因此,当用户向下滚动页面时,汽车看起来就像在路上行驶。虽然汽车出现在道路的顶部,但它必
这个问题在这里已经有了答案: How can I change CSS display none or block property using jQuery? (15 个答案) 关闭 4 年前。
我在市场上有一个支持小部件的应用程序。我对应用程序进行了一些重大更改,重新设计了很多内部结构,替换/重命名 Activity 等。其他更改包括从不同的共享首选项键获取小部件配置数据,尽管我已经编写了转
我有一个 fragment alertsfragment.java,它有一个 GridView 布局,当我打开它时,它工作正常,但是当我在其他选项卡之间滑动时,它就消失了。为了解释更多,我有一个 Ac
我是一名优秀的程序员,十分优秀!