【发布时间】:2017-09-25 20:48:40
【问题描述】:
我一直在研究 JavaFX,并试图弄清楚如何连接包中包含的类。我希望 MainController 类中的“text1btn”按钮将 MainController 类中的“scene1TextField”中的文本发送到 LeftTextArea 类中的 TextArea。我将不胜感激任何有关的cmets。谢谢你。
包装样本;
public class Main extends Application {
public static BorderPane root = new BorderPane();
public static BorderPane getRoot() {
return root;
}
@Override
public void start(Stage primaryStage) throws Exception {
URL url1 = getClass().getResource("../view/MainView.fxml");
BorderPane bp1 = FXMLLoader.load(url1);
URL url2 = getClass().getResource("../view/LeftTextArea.fxml");
AnchorPane bp2 = FXMLLoader.load(url2);
root.setTop(bp1);
root.setCenter(bp2);
primaryStage.setScene(new Scene(root, 500, 400));
primaryStage.setResizable(false);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
包控制器;
public class MainController {
@FXML
Button scene1btn;
@FXML
Button scene2btn;
@FXML
TextField scene1TextField;
@FXML
TextField scene2TextField;
@FXML
Button text1btn;
@FXML
Button text2btn;
@FXML
TextArea mainViewTextArea;
@FXML
public void initialize() {
}
@FXML
public void text1btnClicked() {
}
@FXML
public void text2btnClicked() {
}
@FXML
private void scene1btnClicked() {
try {
URL url1 = getClass().getResource("../view/LeftTextArea.fxml");
AnchorPane bp1 = FXMLLoader.load(url1);
BorderPane border = Main.getRoot();
border.setCenter(bp1);
} catch (IOException e) {
e.printStackTrace();
}
}
@FXML
private void scene2btnClicked() {
try {
URL url2 = getClass().getResource("../view/RightTextArea.fxml");
AnchorPane bp2 = FXMLLoader.load(url2);
BorderPane border = Main.getRoot();
border.setCenter(bp2);
} catch (IOException e) {
e.printStackTrace();
}
}
}
包控制器;
public class LeftTextArea {
@FXML
public TextArea leftTextArea;
}
【问题讨论】: