Ignore:
Timestamp:
02/04/14 22:59:03 (10 years ago)
Author:
ngw8
Message:

More updates to jfxbrowser appearance - added progress bar behind URL bar, + minor CSS changes. Made go button actually work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/items/widgets/JfxBrowser.java

    r824 r829  
    3030import javafx.scene.control.Button;
    3131import javafx.scene.control.Label;
     32import javafx.scene.control.ProgressBar;
    3233import javafx.scene.control.ProgressIndicator;
    3334import javafx.scene.control.TextField;
     35import javafx.scene.effect.BlendMode;
    3436import javafx.scene.input.KeyEvent;
    3537import javafx.scene.input.MouseButton;
     
    7375        private WebEngine _webEngine;
    7476        private TextField _urlField;
     77        private ProgressBar _urlProgressBar;
    7578        private StackPane _overlay;
    7679       
     
    152155                try {
    153156                        StackPane mainLayout = new StackPane();
     157                        mainLayout.setId("jfxbrowser");
     158                       
    154159                        VBox vertical = new VBox();
    155160                        HBox horizontal = new HBox();
     
    167172
    168173                        this._urlField = new TextField(url);
    169                         this._urlField.getStyleClass().add("first");
    170                         this._urlField.setMinWidth(0);
     174                        this._urlField.getStyleClass().addAll("first", "url-field");
    171175                        this._urlField.setMaxWidth(Double.MAX_VALUE);
    172176                        this._urlField.setFocusTraversable(false);
     
    180184                        convertButton.setMinWidth(Button.USE_PREF_SIZE);
    181185                        convertButton.setFocusTraversable(false);
    182                        
    183                         horizontal.getChildren().addAll(backButton, forwardButton, this._urlField, goButton, convertButton);
     186                                               
     187                        this._urlProgressBar = new ProgressBar();               
     188                        this._urlProgressBar.getStyleClass().addAll("first", "url-progress-bar");
     189                        this._urlProgressBar.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
     190
     191                        StackPane urlbar = new StackPane();
     192                        urlbar.getChildren().addAll(_urlProgressBar, this._urlField);
     193                                               
     194                        horizontal.getChildren().addAll(backButton, forwardButton, urlbar, goButton, convertButton);
    184195
    185196                        HBox.setHgrow(backButton, Priority.NEVER);
     
    187198                        HBox.setHgrow(convertButton, Priority.NEVER);
    188199                        HBox.setHgrow(goButton, Priority.NEVER);
    189                         HBox.setHgrow(this._urlField, Priority.ALWAYS);
     200                        HBox.setHgrow(urlbar, Priority.ALWAYS);
    190201                       
    191202                        HBox.setMargin(goButton, new Insets(0, 5, 0, 0));
     
    198209                        VBox.setVgrow(this._webView, Priority.ALWAYS);
    199210                        this._webEngine = this._webView.getEngine();
     211                       
     212                        this._urlProgressBar.progressProperty().bind(_webEngine.getLoadWorker().progressProperty());
    200213
    201214                        vertical.getChildren().addAll(horizontal, this._webView);
     
    223236                        mainLayout.getChildren().addAll(vertical, this._overlay);
    224237                       
    225                         Scene scene = new Scene(mainLayout);
    226 
    227                         scene.getStylesheets().add(ClassLoader.getSystemResource("org/expeditee/assets/style/jfx.css").toString());
    228 
     238                        final Scene scene = new Scene(mainLayout);
     239                       
     240                        final String cssPath = "file:///G:/Programming/Expeditee/Expeditee/src/org/expeditee/assets/style/jfx.css"; // ClassLoader.getSystemResource("org/expeditee/assets/style/jfx.css").toString();
     241                        scene.getStylesheets().add(cssPath);
     242               
    229243                        this._panel.setScene(scene);
    230244                       
     
    258272                    navigateForward();
    259273                }
     274                        });
     275                       
     276                        goButton.setOnAction(new EventHandler<ActionEvent>() {
     277                               
     278                                @Override
     279                                public void handle(ActionEvent arg0) {
     280                    navigate(JfxBrowser.this._urlField.getText());
     281                                }
    260282                        });
    261283                       
     
    396418                                                // Updating the URL bar to display the URL of the page being loaded
    397419                                                JfxBrowser.this._urlField.setText(JfxBrowser.this._webEngine.getLocation());
    398 
     420                                               
     421                                                // Removing the style from the progress bar that causes it to hide
     422                                                JfxBrowser.this._urlProgressBar.getStyleClass().remove("completed");
    399423                                                break;
    400424                                        case SUCCEEDED: // SUCCEEDED
    401425                                                MessageBay.displayMessage("Finished loading page");
     426                                                JfxBrowser.this._urlProgressBar.getStyleClass().add("completed");
    402427                                                break;
    403428                                        case CANCELLED: // CANCELLED
Note: See TracChangeset for help on using the changeset viewer.