Advertisement
Guest User

vitsi

a guest
Apr 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 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.layout.BorderPane;
  10. import javafx.scene.layout.HBox;
  11. import javafx.scene.layout.StackPane;
  12. import javafx.stage.Stage;
  13.  
  14. public class VitsiSovellus extends Application {
  15.  
  16. @Override
  17. public void start(Stage ikkuna) throws Exception {
  18.  
  19. // 1. Luodaan päätason asettelu
  20. BorderPane asettelu = new BorderPane();
  21.  
  22. // 1.1. Luodaan päätason asettelun valikko
  23. HBox valikko = new HBox();
  24. valikko.setPadding(new Insets(20, 20, 20, 20));
  25. valikko.setSpacing(10);
  26.  
  27. // 1.2. Luodaan valikon napit
  28. Button eka = new Button("Vitsi");
  29. Button toka = new Button("Vastaus");
  30. Button kol = new Button("Selitys");
  31.  
  32. // 1.3. Lisätään napit valikkoon
  33. valikko.getChildren().addAll(eka, toka, kol);
  34.  
  35. asettelu.setTop(valikko);
  36.  
  37. // 2. Luodaan alinäkymät ja kytketään ne valikon nappeihin
  38. // 2.1. Luodaan alinäkymät -- tässä asettelut
  39. StackPane ekaAsettelu = luoNakyma("What do you call a bear with no teeth?");
  40. StackPane tokaAsettelu = luoNakyma("A gummy bear.");
  41. StackPane kolAsettelu = luoNakyma("Karhu - Täyttä olutta.");
  42.  
  43. // 2.2. Liitetään alinäkymät nappeihin. Napin painaminen vaihtaa alinäkymää.
  44. eka.setOnAction((event) -> asettelu.setCenter(ekaAsettelu));
  45. toka.setOnAction((event) -> asettelu.setCenter(tokaAsettelu));
  46. kol.setOnAction((event) -> asettelu.setCenter(kolAsettelu));
  47.  
  48. // 2.3. Näytetään aluksi ekaAsettelu
  49. asettelu.setCenter(ekaAsettelu);
  50.  
  51. // 3. Luodaan päänäkymä ja asetetaan päätason asettelu siihen
  52. Scene nakyma = new Scene(asettelu);
  53.  
  54. // 4. Näytetään sovellus
  55. ikkuna.setScene(nakyma);
  56. ikkuna.show();
  57. }
  58.  
  59. private StackPane luoNakyma(String teksti) {
  60.  
  61. StackPane asettelu = new StackPane();
  62. asettelu.setPrefSize(300, 180);
  63. asettelu.getChildren().add(new Label(teksti));
  64. asettelu.setAlignment(Pos.CENTER);
  65.  
  66. return asettelu;
  67. }
  68.  
  69. public static void main(String[] args) {
  70. launch(VitsiSovellus.class);
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement