private void createFirebugButton() { firebugButton = new Button(FontAwesome.ICON_BUG); firebugButton.setFont(Font.font("FontAwesome", 14)); firebugButton.setTextFill(Color.RED); firebugButton.setTooltip(new Tooltip("Launch Firebug.")); firebugButton.disableProperty().bind(webEngine.getLoadWorker().runningProperty()); firebugButton.setOnAction(observable -> webEngine.executeScript(firebugScript)); }
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); }
public ModuleFooterPane() { this.getStyleClass().addAll(Style.CLOSE_FOOTER.css()); failed.setGraphic(AwesomeDude.createIconLabel(AwesomeIcon.TIMES_CIRCLE)); failed.getStyleClass().addAll("pdfsam-footer-button", "pdfsam-footer-failed-button"); failed.setVisible(false); failed.setOnAction(e -> eventStudio().broadcast(new ShowStageRequest(), "LogStage")); failed.setTooltip(new Tooltip(DefaultI18nContext.getInstance().i18n("Task execution failed"))); open.setVisible(false); bar.setPrefWidth(280); }
private Button getNonBreakingLineButton() { Button ret = new Button( "", new ImageView(new Image("file:icons/nonbreakline.png", 24, 24, false, true))); Utils.setToolbarButtonStyle(ret); ret.setTooltip(new Tooltip(LabelGrabber.INSTANCE.getLabel("nonbreak.tooltip"))); ret.setOnAction( (event) -> { int caretPos = lyricsArea.getArea().getCaretPosition(); String[] parts = lyricsArea.getText().split("\n"); int lineIndex = lineFromPos(lyricsArea.getText(), caretPos); String line = parts[lineIndex]; if (line.trim().isEmpty()) { Platform.runLater( new Runnable() { @Override public void run() { lyricsArea.getArea().replaceText(caretPos, caretPos, "<>"); lyricsArea.getArea().refreshStyle(); } }); } else { int nextLinePos = nextLinePos(lyricsArea.getText(), caretPos); if (nextLinePos >= lyricsArea.getText().length()) { Platform.runLater( new Runnable() { @Override public void run() { lyricsArea.getArea().replaceText(nextLinePos, nextLinePos, "\n<>\n"); lyricsArea.getArea().refreshStyle(); } }); } else { Platform.runLater( new Runnable() { @Override public void run() { lyricsArea.getArea().replaceText(nextLinePos, nextLinePos, "<>\n"); lyricsArea.getArea().refreshStyle(); } }); } } }); return ret; }
/** * Get the button used for transposing the chords. * * <p> * * @return the button used for transposing the chords. */ private Button getTransposeButton() { Button ret = new Button("", new ImageView(new Image("file:icons/transpose.png", 24, 24, false, true))); ret.setTooltip(new Tooltip(LabelGrabber.INSTANCE.getLabel("transpose.tooltip"))); ret.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(javafx.event.ActionEvent t) { String originalKey = getKey(0); if (originalKey == null) { Dialog.showInfo( LabelGrabber.INSTANCE.getLabel("no.chords.title"), LabelGrabber.INSTANCE.getLabel("no.chords.message")); return; } transposeDialog.setKey(originalKey); transposeDialog.showAndWait(); int semitones = transposeDialog.getSemitones(); TextField keyField = QueleaApp.get() .getMainWindow() .getSongEntryWindow() .getDetailedSongPanel() .getKeyField(); if (!keyField.getText().isEmpty()) { keyField.setText(new ChordTransposer(keyField.getText()).transpose(semitones, null)); } String key = getKey(semitones); StringBuilder newText = new StringBuilder(getLyricsField().getText().length()); for (String line : getLyricsField().getText().split("\n")) { if (new LineTypeChecker(line).getLineType() == LineTypeChecker.Type.CHORDS) { newText.append(new ChordLineTransposer(line).transpose(semitones, key)); } else { newText.append(line); } newText.append('\n'); } int pos = getLyricsField().getCaretPosition(); getLyricsField().replaceText(newText.toString()); getLyricsField().positionCaret(pos); } }); Utils.setToolbarButtonStyle(ret); return ret; }
/** * Get the spell checker button. * * <p> * * @return the spell checker button. */ private Button getDictButton() { Button button = new Button("", new ImageView(new Image("file:icons/dictionary.png", 24, 24, false, true))); button.setTooltip( new Tooltip(LabelGrabber.INSTANCE.getLabel("run.spellcheck.label") + " (F7)")); button.setOnAction( new EventHandler<javafx.event.ActionEvent>() { @Override public void handle(javafx.event.ActionEvent t) { lyricsArea.runSpellCheck(); } }); button.disableProperty().bind(lyricsArea.spellingOkProperty()); Utils.setToolbarButtonStyle(button); return button; }
protected FxSidebarPasswordbox(ApplicationInstance instance) { final JavaFxUserInterfaceApi fxUI = JavaFxUserInterface.getInstance(instance); row = new BorderPane(); inputElement = createPasswordbox(instance, true); row.setCenter(inputElement); CheckBox showPw = new CheckBox(fxUI.getLocaleBundleString("passwordfield.show_password")); showPw.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { if (showPw.isSelected()) { TextField t = new TextField(getUIValue()); t.addEventFilter( KeyEvent.KEY_RELEASED, new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { storeData(instance.getTree().getSelectedNode()); } }); inputElement = t; } else { inputElement = createPasswordbox(instance, false); } row.setCenter(inputElement); } }); row.setBottom(showPw); Button copy = new Button("", ImageMap.getFxImageView(("icon_copy"))); copy.setMinWidth(16); copy.setMaxWidth(16); copy.setTooltip(new Tooltip(fxUI.getLocaleBundleString("mainwindow.menu.edit.copy_text"))); copy.getStyleClass().add("noBorder"); copy.setFocusTraversable(false); copy.setOnAction((event) -> fxUI.setClipboardText(getUIValue())); row.setRight(copy); }
private void createScreenShotButton() { screenShotButton = new Button(FontAwesome.ICON_CAMERA); screenShotButton.setFont(Font.font("FontAwesome", 14)); screenShotButton.setTooltip(new Tooltip("Take Screen Shot.")); // screenShotButton.disableProperty().bind(webEngine.getLoadWorker().runningProperty()); screenShotButton.setOnAction( observable -> { WritableImage image = masterPane.snapshot(null, null); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss'.png'"); FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Save Screen Shot..."); fileChooser.setInitialFileName(simpleDateFormat.format(Date.from(Instant.now()))); File imageFile = fileChooser.showSaveDialog(null); if (imageFile != null) { try { ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", imageFile); } catch (IOException e) { e.printStackTrace(); } } }); }
@Override protected void onConfigure() { cfg = Configuration.getDefault(); flinger = new Flinger(); flinger.gapProperty().set(4); flinger .directionProperty() .setValue(cfg.isVertical() ? Direction.VERTICAL : Direction.HORIZONTAL); slideLeft.disableProperty().bind(flinger.leftOrUpDisableProperty()); slideRight.disableProperty().bind(flinger.rightOrDownDisableProperty()); shortcuts.getChildren().add(flinger); AnchorPane.setTopAnchor(flinger, 0d); AnchorPane.setBottomAnchor(flinger, 0d); AnchorPane.setLeftAnchor(flinger, 0d); AnchorPane.setRightAnchor(flinger, 0d); networkResources.setTooltip( UIHelpers.createDockButtonToolTip(resources.getString("network.toolTip"))); networkResources.selectedProperty().bindBidirectional(cfg.showNetworkProperty()); ssoResources.setTooltip(UIHelpers.createDockButtonToolTip(resources.getString("sso.toolTip"))); ssoResources.selectedProperty().bindBidirectional(cfg.showSSOProperty()); browserResources.setTooltip( UIHelpers.createDockButtonToolTip(resources.getString("web.toolTip"))); browserResources.selectedProperty().bindBidirectional(cfg.showWebProperty()); status.setTooltip(UIHelpers.createDockButtonToolTip(status.getTooltip().getText())); exit.setTooltip(UIHelpers.createDockButtonToolTip(exit.getTooltip().getText())); signIn.setTooltip(UIHelpers.createDockButtonToolTip(signIn.getTooltip().getText())); options.setTooltip(UIHelpers.createDockButtonToolTip(options.getTooltip().getText())); fileResources.setTooltip( UIHelpers.createDockButtonToolTip(resources.getString("files.toolTip"))); fileResources.selectedProperty().bindBidirectional(cfg.showFilesProperty()); // Button size changes sizeChangeListener = new ChangeListener<Number>() { @Override public void changed( ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { flinger.recentre(); sizeButtons(); } }; cfg.sizeProperty().addListener(sizeChangeListener); // Colour changes colorChangeListener = new ChangeListener<Color>() { @Override public void changed( ObservableValue<? extends Color> observable, Color oldValue, Color newValue) { // styleToolTips(); } }; cfg.colorProperty().addListener(colorChangeListener); // Border changes borderChangeListener = new ChangeListener<Boolean>() { @Override public void changed( ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { flinger .directionProperty() .setValue(cfg.isVertical() ? Direction.VERTICAL : Direction.HORIZONTAL); configurePull(); } } }; cfg.topProperty().addListener(borderChangeListener); cfg.bottomProperty().addListener(borderChangeListener); cfg.leftProperty().addListener(borderChangeListener); cfg.rightProperty().addListener(borderChangeListener); dockContent.prefWidthProperty().bind(dockStack.widthProperty()); // Hide the pull tab initially pull.setVisible(false); if (context.getBridge().isServiceUpdating()) { setMode(Mode.UPDATE); } rebuildResources(); rebuildIcons(); // styleToolTips(); sizeButtons(); setAvailable(); configurePull(); if (cfg.autoHideProperty().get()) maybeHideDock(INITIAL_AUTOHIDE_HIDE_TIME); }
ButtonCell() { cellDeleteButton.getStyleClass().add("editDeleteButton"); cellDeleteButton.setTooltip(new Tooltip("Delete")); cellEditButton.getStyleClass().add("editDeleteButton"); cellEditButton.setTooltip(new Tooltip("Edit")); cellDeleteButton.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { deleteEmployee( ButtonCell.this.getTableView().getItems().get(ButtonCell.this.getIndex())); } }); cellEditButton.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { LOG.info("Enter : handle"); try { FXMLLoader menuLoader = new FXMLLoader( this.getClass() .getResource("/com/kc/view/help-employees-modifypopup.fxml")); GridPane userModify; userModify = (GridPane) menuLoader.load(); Stage modifyStage = new Stage(); Scene modifyScene = new Scene(userModify); modifyStage.setResizable(false); modifyStage.setHeight(390); modifyStage.setWidth(500); modifyStage.initModality(Modality.WINDOW_MODAL); modifyStage.initOwner(LoginController.primaryStage); modifyStage.setScene(modifyScene); modifyStage.show(); ObservableList<EmployeeVO> tempList = helpDAO.getEmployees(); for (EmployeeVO employeeVO : tempList) { if (employeeVO.getId() == ButtonCell.this .getTableView() .getItems() .get(ButtonCell.this.getIndex()) .getId()) { ((HelpEmployeeModifyPopUpController) menuLoader.getController()) .fillTextfieldValues(employeeVO); break; } } modifyStage.setOnCloseRequest( new EventHandler<WindowEvent>() { @Override public void handle(WindowEvent paramT) { fillTableFromData(); } }); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); LOG.error(e.getMessage()); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } LOG.info("Exit : handle"); } }); }
@Override public void initialize(URL location, ResourceBundle resources) { AppController.instance = this; this.res = resources; ObservableList<String> modeItems = FXCollections.observableArrayList( Settings.MODE_NEXT, Settings.MODE_RANDOM, Settings.MODE_SAME); modeList.setItems(modeItems); modeList.getSelectionModel().select(Settings.currentMode); modeList .valueProperty() .addListener( (ObservableValue ov, Object oldVal, Object newVal) -> { Settings.currentMode = (String) newVal; }); setupPlaylistsView(); setupPlaylistsContextMenu(); setupTracksView(); tracksView.setContextMenu(tracksContextMenu); tracksView.setOnContextMenuRequested( (ContextMenuEvent evt) -> { setupTracksContextMenu(); evt.consume(); }); tracksView .getSelectionModel() .selectedItemProperty() .addListener( (ObservableValue observable, Object oldValue, Object newValue) -> { Settings.lastTrackId = newValue != null ? ((Track) newValue).getId() : null; }); playlistsView .getSelectionModel() .selectedItemProperty() .addListener( (ObservableValue observable, Object oldValue, Object newValue) -> { loadSelectedPlaylist(); Settings.lastPlaylistId = newValue != null ? ((Playlist) newValue).getId() : null; searching = false; searchText.setText(StringUtils.EMPTY); }); volumeSlider.setCursor(Cursor.HAND); volumeSlider .valueProperty() .addListener( (ObservableValue<? extends Number> ov, Number oldVal, Number newVal) -> { if (player != null) { player.setVolume(newVal.doubleValue()); } Settings.currentVolume = newVal.doubleValue(); volumeLabel.setText( String.valueOf((int) Math.ceil(newVal.doubleValue() * 100)) + "%"); }); volumeSlider.setValue(Settings.currentVolume); imagePlay = new ImageView(new Image(getClass().getResourceAsStream("/images/button_play.png"))); imagePlay.setScaleX(0.40); imagePlay.setScaleY(0.40); imagePause = new ImageView(new Image(getClass().getResourceAsStream("/images/button_pause.png"))); imagePause.setScaleX(0.5); imagePause.setScaleY(0.5); imageSettings = new ImageView(new Image(getClass().getResourceAsStream("/images/settings.png"))); imageSettings.setScaleX(0.5); imageSettings.setScaleY(0.5); imageUpdate = new ImageView(new Image(getClass().getResourceAsStream("/images/refresh.png"))); imageUpdate.setScaleX(0.5); imageUpdate.setScaleY(0.5); imageAdd = new ImageView(new Image(getClass().getResourceAsStream("/images/add.png"))); imageAdd.setScaleX(0.5); imageAdd.setScaleY(0.5); imageRename = new ImageView(new Image(getClass().getResourceAsStream("/images/rename.png"))); imageRename.setScaleX(0.5); imageRename.setScaleY(0.5); imageDelete = new ImageView(new Image(getClass().getResourceAsStream("/images/delete.png"))); imageDelete.setScaleX(0.5); imageDelete.setScaleY(0.5); stateButton.setGraphic(imagePlay); settingsButton.setGraphic(imageSettings); refreshButton.setGraphic(imageUpdate); refreshButton.setTooltip(new Tooltip(res.getString("tooltip_sync"))); addButton.setGraphic(imageAdd); addButton.setOnAction((evt) -> createOfflinePlaylist()); addButton.setTooltip(new Tooltip(res.getString("tooltip_add_offline"))); renameButton.setGraphic(imageRename); renameButton.setOnAction(evt -> renamePlaylist()); renameButton.setTooltip(new Tooltip(res.getString("rename_playlist"))); deleteButton.setGraphic(imageDelete); deleteButton.setOnAction(evt -> deletePlaylist()); deleteButton.setTooltip(new Tooltip(res.getString("delete_playlist"))); loadProgressBar.setCursor(Cursor.HAND); volumeSlider.setCursor(Cursor.HAND); updatePlaylists(); if (Settings.lastPlaylistId != null) { currentPlaylist = ((ObservableList<Playlist>) playlistsView.getItems()) .stream() .filter((playlist) -> playlist.getId().equals(Settings.lastPlaylistId)) .findFirst() .orElse(null); playlistsView.getSelectionModel().select(currentPlaylist); playlistsView.scrollTo(currentPlaylist); Platform.runLater( () -> { if (Settings.lastTrackId != null) { currentTrack = ((ObservableList<Track>) tracksView.getItems()) .stream() .filter((track) -> track.getId().equals(Settings.lastTrackId)) .findFirst() .orElse(null); tracksView.getSelectionModel().select(currentTrack); tracksView.scrollTo(currentTrack); } }); } new Timer() .scheduleAtFixedRate( new TimerTask() { @Override public void run() { updatePlayProgress(); } }, 100, 100); setupTracksContextMenu(); setupShortcuts(); Platform.runLater( () -> { tracksView.requestFocus(); }); }
/** Updates the days. */ private void updateDays() { Calendar calendar = calendarView.getCalendar(); DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, calendarView.localeProperty().get()); dateFormat.setCalendar(calendarView.getCalendar()); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); // Set the calendar to the first day of the current month. calendar.set(Calendar.DAY_OF_MONTH, 1); int month = calendar.get(Calendar.MONTH); Date tmp = calendar.getTime(); calendar.setTime(new Date()); int todayDay = calendar.get(Calendar.DATE); int todayMonth = calendar.get(Calendar.MONTH); int todayYear = calendar.get(Calendar.YEAR); calendar.setTime(tmp); // Set the calendar to the end of the previous month. while (calendar.getFirstDayOfWeek() != calendar.get(Calendar.DAY_OF_WEEK)) { calendar.add(Calendar.DAY_OF_MONTH, -1); } // Ignore the week day row and the week number column for (int i = numberOfDaysPerWeek + (calendarView.getShowWeeks() ? 1 : 0); i < getChildren().size(); i++) { final Date currentDate = calendar.getTime(); if (i % (numberOfDaysPerWeek + 1) == 0 && (calendarView.getShowWeeks())) { Label label = (Label) getChildren().get(i); label.setText(Integer.toString(calendar.get(Calendar.WEEK_OF_YEAR))); } else { Button control = (Button) getChildren().get(i); control.setText(Integer.toString(calendar.get(Calendar.DAY_OF_MONTH))); control.setTooltip(new Tooltip(dateFormat.format(currentDate))); boolean disabled = calendarView.getDisabledWeekdays().contains(calendar.get(Calendar.DAY_OF_WEEK)); for (Date disabledDate : calendarView.getDisabledDates()) { Calendar clone = (Calendar) calendar.clone(); clone.setTime(disabledDate); if (calendar.get(Calendar.YEAR) == clone.get(Calendar.YEAR) && calendar.get(Calendar.MONTH) == clone.get(Calendar.MONTH) && calendar.get(Calendar.DAY_OF_MONTH) == clone.get(Calendar.DAY_OF_MONTH)) { disabled = true; } } control.setDisable(disabled); control.getStyleClass().remove(CSS_CALENDAR_DAY_CURRENT_MONTH); control.getStyleClass().remove(CSS_CALENDAR_DAY_OTHER_MONTH); control.getStyleClass().remove(CSS_CALENDAR_TODAY); if (calendar.get(Calendar.MONTH) == month) { control.getStyleClass().add(CSS_CALENDAR_DAY_CURRENT_MONTH); } else { control.getStyleClass().add(CSS_CALENDAR_DAY_OTHER_MONTH); } if (calendar.get(Calendar.YEAR) == todayYear && calendar.get(Calendar.MONTH) == todayMonth && calendar.get(Calendar.DATE) == todayDay) { control.getStyleClass().add(CSS_CALENDAR_TODAY); } control.setUserData(calendar.getTime()); calendar.add(Calendar.DATE, 1); } } // Restore original date calendar.setTime(calendarView.calendarDate.get()); }
@Override public void start(Stage primaryStage) throws Exception { try { screenSize = Screen.getPrimary().getVisualBounds(); width = screenSize.getWidth(); // gd.getDisplayMode().getWidth(); height = screenSize.getHeight(); // gd.getDisplayMode().getHeight(); } catch (Exception excep) { System.out.println("<----- Exception in Get Screen Size ----->"); excep.printStackTrace(); System.out.println("<---------->\n"); } try { dbCon = DriverManager.getConnection( "jdbc:mysql://192.168.1.6:3306/ale", "Root", "oqu#$XQgHFzDj@1MGg1G8"); estCon = true; } catch (SQLException sqlExcep) { System.out.println("<----- SQL Exception in Establishing Database Connection ----->"); sqlExcep.printStackTrace(); System.out.println("<---------->\n"); } xmlParser.generateUserInfo(); superUser = xmlParser.getSuperUser(); // ----------------------------------------------------------------------------------------------------> Top Panel Start closeBtn = new Button(""); closeBtn.getStyleClass().add("systemBtn"); closeBtn.setOnAction( e -> { systemClose(); }); minimizeBtn = new Button(""); minimizeBtn.getStyleClass().add("systemBtn"); minimizeBtn.setOnAction( e -> { primaryStage.setIconified(true); }); miscContainer = new HBox(); calcBtn = new Button(); calcBtn.getStyleClass().addAll("calcBtn"); calcBtn.setOnAction( e -> { calculator calculator = new calculator(); scientificCalculator scientificCalculator = new scientificCalculator(); calculator.start(calculatorName); }); miscContainer.getChildren().add(calcBtn); topPanel = new HBox(1); topPanel.getStyleClass().add("topPanel"); topPanel.setPrefWidth(width); topPanel.setAlignment(Pos.CENTER_RIGHT); topPanel.setPadding(new Insets(0, 0, 0, 0)); topPanel.getChildren().addAll(miscContainer, minimizeBtn, closeBtn); // ------------------------------------------------------------------------------------------------------> Top Panel End // ----------------------------------------------------------------------------------------------> Navigation Panel Start Line initDivider = new Line(); initDivider.setStartX(0.0f); initDivider.setEndX(205.0f); initDivider.setStroke(Color.GRAY); // <----- Dashboard -----> dashboardToolTip = new Tooltip("Dashboard"); dashboardBtn = new Button(""); dashboardBtn.getStyleClass().add("dashboardBtn"); dashboardBtn.setTooltip(dashboardToolTip); dashboardBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(dashBoardBase); }); // <----- Profile -----> profileToolTip = new Tooltip("Profile"); profileBtn = new Button(); profileBtn.getStyleClass().add("profileBtn"); profileBtn.setTooltip(profileToolTip); profileBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(profilePanel); }); // <----- Courses -----> courseToolTip = new Tooltip("Courses"); coursesBtn = new Button(""); coursesBtn.getStyleClass().add("coursesBtn"); coursesBtn.setTooltip(courseToolTip); coursesBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(coursesPanel); // miscContainer.getChildren().addAll(watchVidBtn); coursesPanel.setContent(coursesGridPanel); }); Line mainDivider = new Line(); mainDivider.setStartX(0.0f); mainDivider.setEndX(205.0f); mainDivider.setStroke(Color.GRAY); // <----- Simulations -----> simsToolTip = new Tooltip("Simulations"); simsBtn = new Button(); simsBtn.getStyleClass().add("simsBtn"); simsBtn.setTooltip(simsToolTip); simsBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(simsPanel); simsPanel.setContent(simsGridPanel); }); // <----- Text Editor -----> textEditorToolTip = new Tooltip("Text Editor"); textEditorBtn = new Button(); textEditorBtn.getStyleClass().add("textEditorBtn"); textEditorBtn.setTooltip(textEditorToolTip); textEditorBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(textEditorPanel); miscContainer.getChildren().addAll(saveDocBtn); }); Line toolsDivider = new Line(); toolsDivider.setStartX(0.0f); toolsDivider.setEndX(205.0f); toolsDivider.setStroke(Color.GRAY); // <----- Wolfram Alpha -----> wolframToolTip = new Tooltip("Wolfram Alpha"); wolframBtn = new Button(); wolframBtn.getStyleClass().add("wolframBtn"); wolframBtn.setTooltip(wolframToolTip); wolframBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(wolframPanel); }); // <----- Wikipedia -----> wikipediaToolTip = new Tooltip(); wikipediaBtn = new Button(); wikipediaBtn.getStyleClass().add("wikipediaBtn"); wikipediaBtn.setTooltip(wikipediaToolTip); wikipediaBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(wikipediaPanel); }); Line sitesDivider = new Line(); sitesDivider.setStartX(0.0f); sitesDivider.setEndX(205.0f); sitesDivider.setStroke(Color.GRAY); // <----- Settings -----> settingsToolTip = new Tooltip("Settings"); settingsBtn = new Button(); settingsBtn.getStyleClass().add("settingsBtn"); settingsBtn.setTooltip(settingsToolTip); settingsBtn.setOnAction( e -> { resetBtns(); rootPane.setCenter(settingsPanel); }); leftPanel = new VBox(0); // leftPanel.setPrefWidth(1); leftPanel.getStyleClass().add("leftPane"); leftPanel .getChildren() .addAll( initDivider, dashboardBtn, profileBtn, coursesBtn, mainDivider, simsBtn, textEditorBtn, toolsDivider, wolframBtn, wikipediaBtn, sitesDivider, settingsBtn); topPanel = new HBox(1); topPanel.getStyleClass().add("topPanel"); topPanel.setPrefWidth(width); topPanel.setAlignment(Pos.CENTER_RIGHT); topPanel.setPadding(new Insets(0, 0, 0, 0)); topPanel.getChildren().addAll(miscContainer, minimizeBtn, closeBtn); // ------------------------------------------------------------------------------------------------> Navigation Panel End // -----------------------------------------------------------------------------------------------> Dashboard Pane Start final WebView webVid = new WebView(); final WebEngine webVidEngine = webVid.getEngine(); webVid.setPrefHeight(860); webVid.setPrefWidth(width - 118); webVidEngine.loadContent(""); final NumberAxis xAxis = new NumberAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Day"); yAxis.setLabel("Score"); final LineChart<Number, Number> lineChart = new LineChart<Number, Number>(xAxis, yAxis); lineChart.setTitle("Line Chart"); XYChart.Series<Number, Number> series = new XYChart.Series<Number, Number>(); series.setName("My Data"); // populating the series with data series.getData().add(new XYChart.Data<Number, Number>(0.25, 36)); series.getData().add(new XYChart.Data<Number, Number>(1, 23)); series.getData().add(new XYChart.Data<Number, Number>(2, 114)); series.getData().add(new XYChart.Data<Number, Number>(3, 15)); series.getData().add(new XYChart.Data<Number, Number>(4, 124)); lineChart.getData().add(series); lineChart.setPrefWidth(400); lineChart.setPrefHeight(300); lineChart.setLegendVisible(false); chatRoomField = new TextField(); chatRoomField.getStyleClass().add("textField"); chatRoomField.setPromptText("Enter Chat Room"); chatRoomField.setOnKeyPressed( new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { if (event.getCode() == KeyCode.ENTER) { chatRoom = chatRoomField.getText(); client.connect(messageArea, messageInputArea, superUser, chatRoom); } } }); messageArea = new TextArea(); messageArea.getStyleClass().add("textArea"); messageArea.setWrapText(true); messageArea.setPrefHeight(740); messageArea.setEditable(false); messageInputArea = new TextArea(); messageInputArea.getStyleClass().add("textArea"); messageInputArea.setWrapText(true); messageInputArea.setPrefHeight(100); messageInputArea.setPromptText("Enter Message"); messageInputArea.setOnKeyPressed( new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { if (event.getCode() == KeyCode.ENTER) { client.send(messageArea, messageInputArea, superUser, chatRoom); event.consume(); } } }); chatBox = new VBox(); chatBox.setPrefWidth(250); chatBox.setMaxWidth(250); chatBox.getStyleClass().add("chatBox"); chatBox.getChildren().addAll(chatRoomField, messageArea, messageInputArea); // client.test(messageArea, messageInputArea); dashboardGridPanel = new GridPane(); dashboardGridPanel.getStyleClass().add("gridPane"); dashboardGridPanel.setVgap(5); dashboardGridPanel.setHgap(5); dashboardGridPanel.setGridLinesVisible(false); dashboardGridPanel.setPrefWidth(width - 430); dashboardGridPanel.setPrefHeight(860); dashboardGridPanel.setColumnIndex(lineChart, 0); dashboardGridPanel.setRowIndex(lineChart, 0); dashboardGridPanel.getChildren().addAll(lineChart); dashboardPanel = new ScrollPane(); dashboardPanel.getStyleClass().add("scrollPane"); dashboardPanel.setPrefWidth(width - 400); dashboardPanel.setPrefHeight(860); dashboardPanel.setContent(dashboardGridPanel); dashBoardBase = new HBox(); dashBoardBase.setPrefWidth(width - (leftPanel.getWidth() + chatBox.getWidth())); dashBoardBase.setPrefHeight(860); dashBoardBase.getChildren().addAll(dashboardPanel, chatBox); // -------------------------------------------------------------------------------------------------> Dashboard Pane End // -------------------------------------------------------------------------------------------------> Profile Pane Start profilePictureBtn = new Button(); profilePictureBtn.getStyleClass().addAll("profilePictureBtn"); String profileUserName = xmlParser.getSuperUser(); String profileEmail = xmlParser.getEmail(); String profileAge = xmlParser.getAge(); String profileSchool = xmlParser.getSchool(); String profileCountry = ""; String profileCity = ""; userNameLbl = new Label(profileUserName); userNameLbl.getStyleClass().add("profileLbl"); userNameLbl.setAlignment(Pos.CENTER); emailLbl = new Label(profileEmail); emailLbl.getStyleClass().add("profileLbl"); ageLbl = new Label(profileAge); ageLbl.getStyleClass().add("profileLbl"); schoolLbl = new Label(profileSchool); schoolLbl.getStyleClass().add("profileLbl"); profileGridPanel = new GridPane(); profileGridPanel.getStyleClass().add("gridPane"); profileGridPanel.setVgap(5); profileGridPanel.setHgap(5); profileGridPanel.setGridLinesVisible(false); profileGridPanel.setPrefWidth(width - 208); profileGridPanel.setPrefHeight(860); profileGridPanel.setAlignment(Pos.TOP_CENTER); profileGridPanel.setRowIndex(profilePictureBtn, 0); profileGridPanel.setColumnIndex(profilePictureBtn, 0); profileGridPanel.setRowIndex(userNameLbl, 1); profileGridPanel.setColumnIndex(userNameLbl, 0); profileGridPanel.setRowIndex(emailLbl, 2); profileGridPanel.setColumnIndex(emailLbl, 0); profileGridPanel.setRowIndex(ageLbl, 3); profileGridPanel.setColumnIndex(ageLbl, 0); profileGridPanel.setRowIndex(schoolLbl, 4); profileGridPanel.setColumnIndex(schoolLbl, 0); profileGridPanel .getChildren() .addAll(profilePictureBtn, userNameLbl, emailLbl, ageLbl, schoolLbl); profilePanel = new ScrollPane(); profilePanel.getStyleClass().add("scrollPane"); profilePanel.setContent(profileGridPanel); // ---------------------------------------------------------------------------------------------------> Profile Pane End // -------------------------------------------------------------------------------------------------> Courses Pane Start String course = ""; // Media media = new Media("media.mp4"); // mediaPlayer = new MediaPlayer(media); // mediaPlayer.setAutoPlay(true); // mediaView = new MediaView(mediaPlayer); watchVidBtn = new Button("Watch Video"); watchVidBtn.getStyleClass().add("btn"); watchVidBtn.setOnAction( e -> { // coursesPanel.setContent(mediaView); }); chemistryBtn = new Button(); chemistryBtn.getStyleClass().add("chemistryBtn"); chemistryBtn.setOnAction( e -> { displayCourse("chemistry"); }); physicsBtn = new Button(); physicsBtn.getStyleClass().add("physicsBtn"); physicsBtn.setOnAction( e -> { displayCourse("physics"); }); mathsBtn = new Button(); mathsBtn.getStyleClass().add("mathsBtn"); bioBtn = new Button(); bioBtn.getStyleClass().add("bioBtn"); bioBtn.setOnAction( e -> { rootPane.setCenter(biologyCourse.biologyPane()); }); // Course Web View try { courseView = new WebView(); courseWebEngine = courseView.getEngine(); courseView.setPrefHeight(860); courseView.setPrefWidth(width - 208); } catch (Exception excep) { System.out.println("<----- Exception in Course Web ----->"); excep.printStackTrace(); System.out.println("<---------->\n"); } coursesGridPanel = new GridPane(); coursesGridPanel.getStyleClass().add("gridPane"); coursesGridPanel.setVgap(5); coursesGridPanel.setHgap(5); coursesGridPanel.setGridLinesVisible(false); coursesGridPanel.setPrefWidth(width - 208); coursesGridPanel.setPrefHeight(860); coursesGridPanel.setRowIndex(chemistryBtn, 1); coursesGridPanel.setColumnIndex(chemistryBtn, 1); coursesGridPanel.setRowIndex(physicsBtn, 1); coursesGridPanel.setColumnIndex(physicsBtn, 2); coursesGridPanel.setRowIndex(mathsBtn, 1); coursesGridPanel.setColumnIndex(mathsBtn, 3); coursesGridPanel.setRowIndex(bioBtn, 1); coursesGridPanel.setColumnIndex(bioBtn, 4); coursesGridPanel.getChildren().addAll(chemistryBtn, physicsBtn, mathsBtn, bioBtn); coursesPanel = new ScrollPane(); coursesPanel.getStyleClass().add("scrollPane"); coursesPanel.setPrefWidth(width - 118); coursesPanel.setPrefHeight(860); coursesPanel.setContent(coursesGridPanel); // ---------------------------------------------------------------------------------------------------> Courses Pane End // ---------------------------------------------------------------------------------------------> Simulations Pane Start final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); browser.setPrefHeight(860); browser.setPrefWidth(width - 208); /* File phetImageFile = new File("img/styleDark/poweredByPHET.png"); String phetImageURL = phetImageFile.toURI().toURL().toString(); Image phetImage = new Image(phetImageURL, false); */ final ImageView phetImageView = new ImageView(); final Image phetImage = new Image(Main.class.getResourceAsStream("img/styleDark/poweredByPHET.png")); phetImageView.setImage(phetImage); Label motionLbl = new Label("Motion"); motionLbl.getStyleClass().add("lbl"); forcesAndMotionBtn = new Button(); forcesAndMotionBtn.getStyleClass().add("forcesAndMotionBtn"); forcesAndMotionBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/balancing-act/latest/balancing-act_en.html"); simsPanel.setContent(browser); }); balancingActBtn = new Button(); balancingActBtn.getStyleClass().add("balancingActBtn"); balancingActBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/balancing-act/latest/balancing-act_en.html"); simsPanel.setContent(browser); }); energySkateParkBtn = new Button(); energySkateParkBtn.getStyleClass().add("energySkateParkBtn"); energySkateParkBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/energy-skate-park-basics/latest/" + "energy-skate-park-basics_en.html"); simsPanel.setContent(browser); }); balloonsAndStaticElectricityBtn = new Button(); balloonsAndStaticElectricityBtn.getStyleClass().add("balloonsAndStaticElectricityBtn"); balloonsAndStaticElectricityBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/balloons-and-static-electricity/latest/" + "balloons-and-static-electricity_en.html"); simsPanel.setContent(browser); }); buildAnAtomBtn = new Button(); buildAnAtomBtn.getStyleClass().add("buildAnAtomBtn"); buildAnAtomBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/build-an-atom/latest/build-an-atom_en.html"); simsPanel.setContent(browser); }); colorVisionBtn = new Button(); colorVisionBtn.getStyleClass().add("colorVisionBtn"); colorVisionBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/color-vision/latest/color-vision_en.html"); simsPanel.setContent(browser); }); Label soundAndWavesLbl = new Label("Sound and Waves"); soundAndWavesLbl.getStyleClass().add("lbl"); wavesOnAStringBtn = new Button(); wavesOnAStringBtn.getStyleClass().add("wavesOnAStringBtn"); wavesOnAStringBtn.setOnAction( e -> { webEngine.load( "https://phet.colorado.edu/sims/html/wave-on-a-string/latest/wave-on-a-string_en.html"); simsPanel.setContent(browser); }); /* motionSimsFlowPane = new FlowPane(); motionSimsFlowPane.getStyleClass().add("flowPane"); motionSimsFlowPane.setVgap(5); motionSimsFlowPane.setHgap(5); motionSimsFlowPane.setAlignment(Pos.TOP_LEFT); motionSimsFlowPane.getChildren().addAll(forcesAndMotionBtn, balancingActBtn, energySkateParkBtn, buildAnAtomBtn, colorVisionBtn, wavesOnAStringBtn); soundAndWavesFlowPane = new FlowPane(); soundAndWavesFlowPane.getStyleClass().add("flowPane"); soundAndWavesFlowPane.setVgap(5); soundAndWavesFlowPane.setHgap(5); soundAndWavesFlowPane.setAlignment(Pos.TOP_LEFT); soundAndWavesFlowPane.getChildren().addAll(wavesOnAStringBtn); simsBox = new VBox(); simsBox.getStyleClass().add("vbox"); simsBox.setPrefHeight(height); simsBox.setPrefWidth(width); simsBox.getChildren().addAll(motionLbl, motionSimsFlowPane, soundAndWavesLbl, soundAndWavesFlowPane); */ simsGridPanel = new GridPane(); simsGridPanel.getStyleClass().add("gridPane"); simsGridPanel.setVgap(5); simsGridPanel.setHgap(5); simsGridPanel.setGridLinesVisible(false); simsGridPanel.setPrefWidth(width - 208); simsGridPanel.setPrefHeight(860); simsGridPanel.setRowIndex(phetImageView, 0); simsGridPanel.setColumnIndex(phetImageView, 4); simsGridPanel.setRowIndex(motionLbl, 0); simsGridPanel.setColumnIndex(motionLbl, 0); simsGridPanel.setRowIndex(forcesAndMotionBtn, 1); simsGridPanel.setColumnIndex(forcesAndMotionBtn, 0); simsGridPanel.setRowIndex(balancingActBtn, 1); simsGridPanel.setColumnIndex(balancingActBtn, 1); simsGridPanel.setRowIndex(energySkateParkBtn, 1); simsGridPanel.setColumnIndex(energySkateParkBtn, 2); simsGridPanel.setRowIndex(buildAnAtomBtn, 1); simsGridPanel.setColumnIndex(buildAnAtomBtn, 3); simsGridPanel.setRowIndex(colorVisionBtn, 1); simsGridPanel.setColumnIndex(colorVisionBtn, 4); simsGridPanel.setRowIndex(soundAndWavesLbl, 2); simsGridPanel.setColumnIndex(soundAndWavesLbl, 0); simsGridPanel.setColumnSpan(soundAndWavesLbl, 4); simsGridPanel.setRowIndex(wavesOnAStringBtn, 3); simsGridPanel.setColumnIndex(wavesOnAStringBtn, 0); simsGridPanel .getChildren() .addAll( phetImageView, motionLbl, forcesAndMotionBtn, balancingActBtn, energySkateParkBtn, buildAnAtomBtn, colorVisionBtn, soundAndWavesLbl, wavesOnAStringBtn); simsPanel = new ScrollPane(); simsPanel.getStyleClass().add("scrollPane"); simsPanel.setContent(simsGridPanel); // -----------------------------------------------------------------------------------------------> Simulations Pane End // ---------------------------------------------------------------------------------------------> Text Editor Pane Start htmlEditor = new HTMLEditor(); htmlEditor.setPrefHeight(860); htmlEditor.setPrefWidth(width - 208); // Prevents Scroll on Space Pressed htmlEditor.addEventFilter( KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { if (event.getEventType() == KeyEvent.KEY_PRESSED) { if (event.getCode() == KeyCode.SPACE) { event.consume(); } } } }); XWPFDocument document = new XWPFDocument(); XWPFParagraph tmpParagraph = document.createParagraph(); XWPFRun tmpRun = tmpParagraph.createRun(); saveDocBtn = new Button(); saveDocBtn.getStyleClass().add("btn"); saveDocBtn.setText("Save"); saveDocBtn.setOnAction( e -> { tmpRun.setText(tools.stripHTMLTags(htmlEditor.getHtmlText())); tmpRun.setFontSize(12); saveDocument(document, primaryStage); }); textEditorPanel = new ScrollPane(); textEditorPanel.getStyleClass().add("scrollPane"); textEditorPanel.setContent(htmlEditor); // -----------------------------------------------------------------------------------------------> Text Editor Pane End // -------------------------------------------------------------------------------------------------> Wolfram Pane Start Boolean wolframActive = false; try { final WebView wolframWeb = new WebView(); wolframWeb.getStyleClass().add("webView"); final WebEngine wolframWebEngine = wolframWeb.getEngine(); wolframWeb.setPrefHeight(860); wolframWeb.setPrefWidth(width - 208); if (wolframActive == false) { wolframWebEngine.load("http://www.wolframalpha.com/"); wolframActive = true; } wolframPanel = new ScrollPane(); wolframPanel.setContent(wolframWeb); } catch (Exception excep) { System.out.println("<----- Exception in Wolfram Alpha Web ----->"); excep.printStackTrace(); System.out.println("<---------->\n"); } // ---------------------------------------------------------------------------------------------------> Wolfram Pane End // ------------------------------------------------------------------------------------------------> Wikipedia Pane Start Boolean wikipediaActive = false; try { final WebView wikipediaWeb = new WebView(); wikipediaWeb.getStyleClass().add("scrollPane"); wikipediaWebEngine = wikipediaWeb.getEngine(); wikipediaWeb.setPrefHeight(860); wikipediaWeb.setPrefWidth(width - 208); if (wikipediaActive == false) { wikipediaWebEngine.load("https://en.wikipedia.org/wiki/Main_Page"); wikipediaActive = true; } wikipediaPanel = new ScrollPane(); wikipediaPanel.setContent(wikipediaWeb); } catch (Exception e) { e.printStackTrace(); } // --------------------------------------------------------------------------------------------------> Wikipedia Pane End // -------------------------------------------------------------------------------------------------> Settings Pane Start settingsGridPanel = new GridPane(); settingsGridPanel.getStyleClass().add("gridPane"); settingsGridPanel.setPrefWidth(width - 208); settingsGridPanel.setPrefHeight(height); settingsGridPanel.setVgap(5); settingsGridPanel.setHgap(5); settingsPanel = new ScrollPane(); settingsPanel.getStyleClass().add("scrollPane"); settingsPanel.setContent(settingsGridPanel); // ---------------------------------------------------------------------------------------------------> Settings Pane End rootPane = new BorderPane(); rootPane.setLeft(leftPanel); rootPane.setTop(topPanel); rootPane.setCenter(dashBoardBase); rootPane.getStyleClass().add("rootPane"); rootPane.getStylesheets().add(Main.class.getResource("css/styleDark.css").toExternalForm()); programWidth = primaryStage.getWidth(); programHeight = primaryStage.getHeight(); primaryStage.setTitle("ALE"); primaryStage.initStyle(StageStyle.UNDECORATED); primaryStage .getIcons() .add(new javafx.scene.image.Image(Main.class.getResourceAsStream("img/aleIcon.png"))); primaryStage.setScene(new Scene(rootPane, width, height)); primaryStage.show(); }