Advertisement
Guest User

terveht

a guest
Apr 23rd, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. package sovellus;
  2.  
  3. import javafx.application.Application;
  4. import javafx.geometry.Insets;
  5. import javafx.geometry.Pos;
  6. import javafx.scene.Scene;
  7. import javafx.scene.control.Button;
  8. import javafx.scene.control.Label;
  9. import javafx.scene.control.PasswordField;
  10. import javafx.scene.control.TextField;
  11. import javafx.scene.layout.GridPane;
  12. import javafx.scene.layout.StackPane;
  13. import javafx.stage.Stage;
  14.  
  15. public class TervehtijaSovellus extends Application {
  16.  
  17. @Override
  18. public void start(Stage ikkuna) throws Exception {
  19.  
  20. // 1. Luodaan salasanan kysymiseen käytetty näkymä
  21. // 1.1 luodaan käytettävät komponentit
  22. Label ohjeteksti = new Label("Kirjoita nimesi ja aloita.");
  23. TextField salasanakentta = new TextField();
  24. Button aloitusnappi = new Button("Aloita");
  25. Label virheteksti = new Label("");
  26.  
  27. // 1.2 luodaan asettelu ja lisätään komponentit siihen
  28. GridPane asettelu = new GridPane();
  29.  
  30. asettelu.add(ohjeteksti, 0, 0);
  31. asettelu.add(salasanakentta, 0, 1);
  32. asettelu.add(aloitusnappi, 0, 2);
  33. asettelu.add(virheteksti, 0, 3);
  34.  
  35. // 1.3 tyylitellään asettelua
  36. asettelu.setPrefSize(300, 180);
  37. asettelu.setAlignment(Pos.CENTER);
  38. asettelu.setVgap(10);
  39. asettelu.setHgap(10);
  40. asettelu.setPadding(new Insets(20, 20, 20, 20));
  41.  
  42. // 1.4 luodaan itse näkymä ja asetetaan asettelu siihen
  43. Scene salasanaNakyma = new Scene(asettelu);
  44.  
  45. // 2. Luodaan tervetuloa-tekstin näyttämiseen käytetty näkymä
  46. Label tervetuloaTeksti = new Label("Tervetuloa, tästä se alkaa!");
  47.  
  48. StackPane tervetuloaAsettelu = new StackPane();
  49. tervetuloaAsettelu.setPrefSize(300, 180);
  50. tervetuloaAsettelu.getChildren().add(tervetuloaTeksti);
  51. tervetuloaAsettelu.setAlignment(Pos.CENTER);
  52.  
  53. Scene tervetuloaNakyma = new Scene(tervetuloaAsettelu);
  54.  
  55. // 3. Lisätään salasanaruudun nappiin tapahtumankäsittelijä
  56. // näkymää vaihdetaan jos salasana on oikein
  57. aloitusnappi.setOnAction((event) -> {
  58.  
  59. tervetuloaTeksti.setText("Tervetuloa " + salasanakentta.getText() + "!");
  60. ikkuna.setScene(tervetuloaNakyma);
  61. });
  62.  
  63. ikkuna.setScene(salasanaNakyma);
  64. ikkuna.show();
  65. }
  66.  
  67. public static void main(String[] args) {
  68. launch(TervehtijaSovellus.class);
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement