相关疑难解决方法(0)

传递参数JavaFX FXML

如何将参数传递给javafx中的辅助窗口?有没有办法与相应的控制器通信?

例如:用户从a中选择一个客户,TableView并打开一个新窗口,显示客户的信息.

Stage newStage = new Stage();
try 
{
    AnchorPane page = (AnchorPane) FXMLLoader.load(HectorGestion.class.getResource(fxmlResource));
    Scene scene = new Scene(page);
    newStage.setScene(scene);
    newStage.setTitle(windowTitle);
    newStage.setResizable(isResizable);
    if(showRightAway) 
    {
        newStage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

newStage将是新窗口.问题是,我找不到告诉控制器在哪里查找客户信息的方法(通过传递id作为参数).

有任何想法吗?

parameters dependency-injection javafx parameter-passing fxml

180
推荐指数
4
解决办法
16万
查看次数

JavaFX FXML Controller初始化方法未被调用

我试图从一个简单的ArrayList的内容填充ListView.这是我的

Controller.java文件:

package design;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;

import javafx.beans.property.ListProperty;
import javafx.beans.property.SimpleListProperty;
import javafx.collections.FXCollections;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;

public class Controller {

    @FXML private Button buttontest;
    @FXML private ListView<Song> listViewofSongs;

    protected List<Song> songList = new ArrayList<>();
    protected ListProperty<Song> listProperty = new SimpleListProperty<Song>();
    Song Language = new Song("Peter", "myalbum", "yes", 2010);

    public void addSong(Song song){
        songList.add(song);
    }

    public void initialize(URL url, ResourceBundle rb) {
            addSong(Language);
            listViewofSongs.setItems(FXCollections.observableList(songList));
     }



}
Run Code Online (Sandbox Code Playgroud)

这是我的Style.fxml文件:

<?xml version="1.0" encoding="UTF-8"?>

<?import …
Run Code Online (Sandbox Code Playgroud)

java javafx

5
推荐指数
1
解决办法
1万
查看次数