1 Reply Latest reply: Oct 22, 2012 2:13 PM by likejiujitsu RSS

    Login CSS tutorial, the background does not get applied

    likejiujitsu
      Trying to figure out why in the Login CSS tutorial, the background does not get applied.

      http://docs.oracle.com/javafx/2/get_started/css.htm

      Login.css and background.jpg are in the same folder in src/login

       /* 
          Document   : Login
          Created on : Oct 22, 2012, 1:10:20 PM
          Author     : 
          Description:
              Purpose of the stylesheet follows.
      */
      
      root { 
          -fx-background-image: url("background.jpg");
      }
      package login;
      
      import javafx.application.Application;
      import javafx.event.ActionEvent;
      import javafx.event.EventHandler;
      import javafx.geometry.Insets;
      import javafx.geometry.Pos;
      import javafx.scene.Scene;
      import javafx.scene.control.Button;
      import javafx.scene.control.Label;
      import javafx.scene.control.PasswordField;
      import javafx.scene.control.TextField;
      import javafx.scene.layout.GridPane;
      import javafx.scene.layout.HBox;
      import javafx.scene.paint.Color;
      import javafx.scene.text.Font;
      import javafx.scene.text.FontWeight;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;
      
      /**
       *
       * @author 
       */
      public class Login extends Application {
      
          @Override
          public void start(Stage primaryStage) {
              primaryStage.setTitle("Welcome!");
              GridPane grid = new GridPane();
              grid.setAlignment(Pos.CENTER);
              grid.setHgap(10);
              grid.setVgap(10);
              grid.setPadding(new Insets(25, 25, 25, 25));
              Text scenetitle = new Text("Welcome");
              scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
              grid.add(scenetitle, 0, 0, 2, 1);
      
              Label userName = new Label("User Name:");
              grid.add(userName, 0, 1);
      
              TextField userTextField = new TextField();
              grid.add(userTextField, 1, 1);
      
              Label pw = new Label("Password:");
              grid.add(pw, 0, 2);
      
              PasswordField pwBox = new PasswordField();
              grid.add(pwBox, 1, 2);
      
              Button btn = new Button("Sign in");
              HBox hbBtn = new HBox(10);
              hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
              hbBtn.getChildren().add(btn);
              grid.add(hbBtn, 1, 4);
              final Text actiontarget = new Text();
              grid.add(actiontarget, 1, 6);
              btn.setOnAction(new EventHandler<ActionEvent>() {
                  @Override
                  public void handle(ActionEvent e) {
                      actiontarget.setFill(Color.FIREBRICK);
                      actiontarget.setText("Sign in button pressed");
                  }
              });
      
              Scene scene = new Scene(grid, 300, 275);
              primaryStage.setScene(scene);
              scene.getStylesheets().add(Login.class.getResource("Login.css").toExternalForm());
              primaryStage.show();
          }
      
          /**
           * The main() method is ignored in correctly deployed JavaFX application.
           * main() serves only as fallback in case the application can not be
           * launched through deployment artifacts, e.g., in IDEs with limited FX
           * support. NetBeans ignores main().
           *
           * @param args the command line arguments
           */
          public static void main(String[] args) {
              launch(args);
          }
      }