I have an application in which I want to initialize some things after i open up a new JavaFX box. I realize this was marked as duplicate but i have no idea how that duplicate answer helps me. The answer confuses me, i just want to initialize some things on a newly opened window
Here is the code for this new window:
Method from first window that opens up the other window:
@FXML
public void displayAddNewPerson() {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("CreateNewStudent.fxml"));
Parent root;
AddNewPersonToFile activateMethod = new AddNewPersonToFile();
try {
root = fxmlLoader.load();
Stage addNewPersonStage = new Stage();
addNewPersonStage.initModality(Modality.APPLICATION_MODAL);
addNewPersonStage.setOpacity(1);
addNewPersonStage.setTitle("My New Stage Title");
addNewPersonStage.setScene(new Scene(root, 500, 300));
addNewPersonStage.show();
addNewPersonStage.hide();
//activateMethod.initializeNewPerson();
addNewPersonStage.showAndWait();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Class that is the new window:
public class AddNewPersonToFile extends AnchorPane implements Initializable {
@FXML
final ObservableList<String> stateList =FXCollections.observableArrayList(
"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN",
"IA","KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV",
"NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN",
"TX","UT", "VT", "VA", "WA", "WV", "WI", "WY");
@FXML
private TextField enterLastName;
@FXML
private TextField enterFirstName;
@FXML
private TextField enterEmail;
@FXML
private TextField enterMoneyOwed;
@FXML
private TextField enterSchoolName;
@FXML
private ComboBox<String> enterState;
@FXML
private ComboBox<Integer> enterYearJoined;
@FXML
private CheckBox enterIsHeActive;
@FXML
private Button enterStudentInfo;
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
int year = Calendar.getInstance().get(Calendar.YEAR);
ObservableList<Integer> yearRange = FXCollections.observableArrayList((year - 4), (year - 3), (year - 2), (year - 1), (year), (year + 1), (year + 2), (year + 3), (year + 4));
enterIsHeActive.setIndeterminate(false);
System.setProperty("glass.accessible.force", "false");
enterState.setVisibleRowCount(4);
enterState.setItems(stateList);
enterYearJoined.setItems(yearRange);
enterYearJoined.setVisibleRowCount(4);
}
}
here is the FXML of the new window:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fbla.rahulshah.database.view.AddNewPersonToFile">
<children>
<AnchorPane layoutY="1.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="500.0">
<children>
<Label layoutX="6.0" layoutY="6.0" text="Create New Student">
<font>
<Font size="32.0" />
</font>
</Label>
<TextField fx:id="enterLastName" layoutX="14.0" layoutY="70.0" prefHeight="25.0" prefWidth="150.0" promptText="Last Name">
<font>
<Font size="9.0" />
</font>
</TextField>
<TextField fx:id="enterFirstName" layoutX="170.0" layoutY="70.0" prefHeight="25.0" prefWidth="141.0" promptText="First Name">
<font>
<Font size="9.0" />
</font>
</TextField>
<TextField fx:id="enterEmail" layoutX="316.0" layoutY="70.0" prefHeight="25.0" prefWidth="176.0" promptText="Email">
<font>
<Font size="9.0" />
</font>
</TextField>
<Label layoutX="14.0" layoutY="53.0" text="Personal Info" />
<Label layoutX="19.0" layoutY="147.0" text="School Info" />
<TextField fx:id="enterSchoolName" layoutX="14.0" layoutY="166.0" prefHeight="25.0" prefWidth="150.0" promptText="School's Full Name">
<font>
<Font size="9.0" />
</font>
</TextField>
<CheckBox fx:id="enterIsHeActive" layoutX="16.0" layoutY="209.0" mnemonicParsing="false" text="Check if Active member" />
<Button layoutX="416.0" layoutY="261.0" mnemonicParsing="false" text="Enter Info" />
<TextField fx:id="enterMoneyOwed" layoutX="191.0" layoutY="109.0" prefHeight="25.0" prefWidth="86.0" promptText="(i.e. 5.00 for $5.00)">
<font>
<Font size="9.0" />
</font>
</TextField>
<Label layoutX="20.0" layoutY="113.0" text="Amountt of Money Owed (in $)" />
<ComboBox fx:id="enterState" layoutX="184.0" layoutY="166.0" prefHeight="25.0" prefWidth="100.0" promptText="Enter State" />
<ComboBox fx:id="enterYearJoined" layoutX="303.0" layoutY="166.0" prefHeight="25.0" prefWidth="107.0" promptText="Year Joined" />
</children>
</AnchorPane>
</children>
</AnchorPane>