我附加了以下javafx的示例应用程序,其中有一个用于对话框的对话框类.虽然对话框中存在单击按钮 - 但内存会过多增加.只需当对话框显示 - 在taskmanager中支持它需要57kb然后当我们点击按钮并处理对话框 - taskmanager显示它的内存开始增加 - 最后它崩溃,获得转储内存异常.
示例Dialog.java中有以下类 :它显示对话框为ok - cancel按钮 MessageDialog.fxml:这个fxml创建对话框 MessageDialogController是关联文件到MessageDialog.fxml JavaFXSample.java是运行这个的主要类样品.
Dialog.java
package javafxsample;
import java.io.IOException;
import java.io.InputStream;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.fxml.JavaFXBuilderFactory;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
/**
*
* @author Admin
*/
public class Dialog {
public static void ShowinfoDialog(String title, String Message, Stage parentStage, double w, double h) {
if (title == null || title.trim().isEmpty()) {
title = "Info"; …Run Code Online (Sandbox Code Playgroud) 我正在尝试显示一段 ProgressIndicator时间执行异步背景ListView项加载.我想要的行为是:
ListView项目之前,显示ProgressIndicator具有不确定进度的项目;ListView项目;ListView项加载结束,隐藏ProgressIndicator.这里是一个SSCE我的不成功尝试的:
public class AsyncLoadingExample extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
final ListView<String> listView = new ListView<String>();
final ObservableList<String> listItems = FXCollections.observableArrayList();
final ProgressIndicator loadingIndicator = new ProgressIndicator();
final Button button = new Button("Click me to start loading");
primaryStage.setTitle("Async Loading Example");
listView.setPrefSize(200, 250);
listView.setItems(listItems);
loadingIndicator.setVisible(false);
button.setOnAction(new EventHandler<ActionEvent>() { …Run Code Online (Sandbox Code Playgroud)