我正在用JavaFx乞讨,我意识到我需要一些帮助在运行时用一些TreeItems更新一个TreeView,它应该在主窗口中更新。
在这里,可以看到两个窗口的截图:
较大的是主窗口,它调用(通过在文件中单击>>New Project),New Small。在较小的窗口中,我可以得到键入的字符串,然后单击enter按钮。
package application;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeItem.TreeModificationEvent;
import javafx.scene.control.TreeView;
import javafx.stage.Modality;
import javafx.stage.Stage;
/**
* this class handles with the main window of our LDF Tool
* @author Vinicius
* @version 1.0
*/
public class MainController implements Initializable{
@FXML
TreeView<String> treeView;
@FXML
MenuItem newProject;
private boolean flag = false;
private NewProjectWindowController npwc;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
@FXML
public void newProjectClicked(ActionEvent event){
try{
flag = true;
FXMLLoader fxml = new FXMLLoader(getClass().getResource("newProjectWindow.fxml"));
Parent root = (Parent) fxml.load();
Stage newWindow = new Stage();
newWindow.setTitle("New Project");
newWindow.initModality(Modality.APPLICATION_MODAL);
newWindow.setScene(new Scene(root));
newWindow.show();
} catch (Exception e) {
System.out.println("caiu na exceção");
}
}
/**
* to this method, choose the project's name as argument, and it will be put on the
* tree with the archives that should be created together
* @param projectName
*/
public void doTree(String projectName){
TreeItem<String> root = new TreeItem<>("projectName");
root.setExpanded(true);
//TreeItem<String> folha1 = new TreeItem<String>(projectName + " arquivo 1");
//root.getChildren().add(folha1);
treeView.setRoot(root);
}
package application;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
public class NewProjectWindowController implements Initializable{
@Override
public void initialize(URL location, ResourceBundle resources) {
}
@FXML
Button cancelButton;
@FXML
Button enterButton;
@FXML
TextField textInput;
private String input;
public String getInput(){
return this.input;
}
@FXML
public void cancelButtonClicked(ActionEvent event) {
Stage window = (Stage) this.cancelButton.getParent().getScene().getWindow();
window.close();
}
@FXML
public void enterButtonClicked(ActionEvent event) {
input = hasString();
Stage window = (Stage) this.enterButton.getParent().getScene().getWindow();
window.close();
}
private String hasString(){
if (this.textInput.getText().isEmpty())
return null;
return this.textInput.getText();
}
}
请假设我在FXML文件中映射了所有的内容。谢谢
@FXML
public void newProjectClicked(ActionEvent event){
try{
flag = true;
FXMLLoader fxml = new FXMLLoader(getClass().getResource("newProjectWindow.fxml"));
Parent root = (Parent) fxml.load();
Stage newWindow = new Stage();
newWindow.setTitle("New Project");
newWindow.initModality(Modality.APPLICATION_MODAL);
newWindow.setScene(new Scene(root));
// showAndWait blocks execution until the window closes:
newWindow.showAndWait();
NewProjectWindowController controller = fxml.getController();
String input = controller.getInput();
if (input != null) {
TreeItem<String> currentItem = treeView.getSelectionModel().getSelectedItem();
if (currentItem == null) currentItem = treeView.getRoot();
currentItem.getChildren().add(new TreeItem<>(input));
}
} catch (Exception e) {
System.out.println("caiu na exceção");
}
}
问题内容: 我有两个Spark数据框: 数据框A: 和数据框B: 数据框B可以包含来自数据框A的重复行,更新行和新行。我想在spark中编写操作,在其中可以创建一个新数据框,其中包含数据框A的行以及数据框B的更新行和新行。 我首先创建一个仅包含不可更新列的哈希列。这是唯一的ID。所以我们可以说,并可以改变值(可更新),但是是唯一的。我创建了一个哈希函数为: 现在,我想编写一些火花代码,基本上从B中
我有一个带有标签和按钮的窗口,还有一个带有文本字段和按钮的窗口。在主窗口中,我想使用按钮打开另一个窗口,在新窗口的文本字段中输入一些内容,单击新窗口上的按钮后,我想关闭该窗口,并用输入的文本更新主窗口标签。另外,我希望新窗口是模态的。 主窗口 新窗口 我知道它的设置一点都不正确,但希望它能解释我正在尝试做什么。
问题内容: 是否可以在带有子选择的mysql 5.0上运行UPDATE命令。 我要运行的命令是这样的: ISBN13当前存储为字符串。 这应该更新10k +行。 谢谢, 威廉 问题答案: 只需更改一下即可:
我有一个Kafka主题,包含Json格式的数据: 我想用类似“参考表”的东西来规范内容: 为了输出: 我认为这是使用存储参考数据的典型用例。但我在实施上有点纠结。 当前状态 摄取参考数据 在Kafka上创建的专用主题: 主题提供了示例Json数据: 在对键和值进行返工后,在中摄入的数据: 在主题中,我得到以下行: 这看起来像我所期望的。双引号很奇怪,但这并不妨碍我走得更远。 数据被/应该存储在名为
如何使用Pandas更新/组合/合并数据帧(df1)和来自另一个数据帧(df2)的值,其中df1有一个新列(col3)和来自df2的值。可乐2?换句话说,df1是当前月份的值,我希望df1也有一个来自df2的列,它是上个月的值。 任何关于这方面的见解都是值得赞赏的;非常感谢你。 DF1: DF2: 所需df:
我在spring-boot应用程序中为数据库配置了以下liquibase配置。 最初,这些YAML脚本是在应用程序启动和数据库创建时执行的,现在我想更新一列的数据类型,所以我需要更新现有的创建表。列配置的YAML,或者需要创建另一个具有不同名称的文件,并将条目添加到“db.changelog-master.yaml”文件中。 请建议,谢谢