public MainScreenView(final MainScreenController controller) { // Setup Job List: listView_jobs.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); // Setup output area: textArea_output.setEditable(false); textArea_output.setFocusTraversable(false); // Set Component Tooltips: button_createJob.setTooltip(new Tooltip("Open the Job creation dialog to create a new Job.")); button_deleteSelectedJobs.setTooltip( new Tooltip("Removes all Jobs that are currently selected on the list.")); button_deleteAllJobs.setTooltip(new Tooltip("Clears the list of all Jobs.")); button_clearOutput.setTooltip(new Tooltip("Clears the output screen.")); button_editSettings.setTooltip(new Tooltip("Open the settings menu.")); button_encode.setTooltip(new Tooltip("Encodes the selected handler(s).")); button_decode.setTooltip( new Tooltip( "Decodes the selected handler(s).\n\n" + "No checking is done to see if the files have ever been encoded,\n" + "so it's up to you to ensure you're decoding the correct files.")); // Set Component EventHandlers: button_createJob.setOnAction(controller); button_encode.setOnAction(controller); button_decode.setOnAction(controller); button_deleteSelectedJobs.setOnAction(controller); button_deleteAllJobs.setOnAction(controller); button_clearOutput.setOnAction(controller); button_editSettings.setOnAction(controller); // Setup the Layout: final HBox panel_left_top = new HBox(10); panel_left_top.setAlignment(Pos.CENTER); panel_left_top .getChildren() .addAll(button_createJob, button_deleteSelectedJobs, button_deleteAllJobs); final HBox panel_left_bottom = new HBox(10); panel_left_bottom.setAlignment(Pos.CENTER); panel_left_bottom.getChildren().addAll(button_encode, button_decode); final VBox panel_left = new VBox(4); HBox.setHgrow(panel_left, Priority.ALWAYS); VBox.setVgrow(listView_jobs, Priority.ALWAYS); panel_left.getChildren().addAll(panel_left_top, listView_jobs, panel_left_bottom); final BorderPane panel_right_bottom = new BorderPane(); panel_right_bottom.setLeft(button_clearOutput); panel_right_bottom.setRight(button_editSettings); final VBox panel_right = new VBox(4); HBox.setHgrow(panel_right, Priority.ALWAYS); VBox.setVgrow(textArea_output, Priority.ALWAYS); panel_right.getChildren().addAll(textArea_output, panel_right_bottom); this.setSpacing(4); this.getChildren().addAll(panel_left, panel_right); }