JavaFX 9. Tworzenie graficznych interfejsów użytkownika - ebook
JavaFX 9. Tworzenie graficznych interfejsów użytkownika - ebook
Twórz doskonałe GUI z wykorzystaniem JavaFX!
Przykłady zgodne z Java 10!
- Naucz się wykorzystywać w praktyce platformę JavaFX
- Dowiedz się, jak osiągać konkretne efekty
- Poznaj rozwiązania najczęstszych problemów
JavaFX to platforma umożliwiająca proste tworzenie atrakcyjnych interfejsów użytkownika dla aplikacji budowanych w języku Java. Wsparcie wzorca projektowego MVC, obsługa XML-a oraz formatowanie kontrolek za pomocą arkuszy stylów CSS - to tylko wybrane cechy, które sprawiają, że zastosowanie tego rozwiązania upraszcza architekturę aplikacji, przyspiesza ich tworzenie, ułatwia konserwację, umożliwia wydajną pracę nad projektami i pozwala osiągać ciekawe efekty w stosunkowo krótkim czasie.
Jeśli zaczynasz swoją przygodę z Javą i chcesz szybko poznać platformę JavaFX 9, sięgnij po tę książkę! Bezboleśnie wprowadzi Cię ona w świat tworzenia aplikacji wykorzystujących rozwiązania JavaFX, nauczy praktycznego zastosowania najważniejszych funkcji oraz zaprezentuje informacje, pozwalające rozpocząć własne eksperymenty. Dzięki pracy z kodem szybko opanujesz niezbędne umiejętności, a przykłady z życia wzięte pozwolą krok po kroku zbudować bezcenne doświadczenie.
- Właściwości, wiązanie danych i korzystanie z kolekcji
- Obsługa zdarzeń, gestów i dotyku
- Zastosowanie kształtów 2D
- Kształty 3D, kamery i światła
- Przekształcenia, efekty i animacje
- Korzystanie z różnych elementów GUI
- Wykresy, obrazy i rysowanie, audio i wideo
- Przeglądanie stron WWW i ułatwienia dostępu
- Wielowątkowość i modularyzacja
Przekonaj się, jakie efekty można osiągnąć dzięki JavaFX!
Spis treści
Wstęp (25)
Rozdział 1. Wiadomości wstępne (27)
- JavaFX (27)
- Cechy JavaFX (27)
- Szkielet aplikacji (29)
- Metody init() i stop() (30)
- Metoda start() (30)
- Cykl życiowy aplikacji (31)
- Kończenie pracy aplikacji (33)
- Wyrażenia lambda (34)
- Parametry uruchomieniowe (34)
- Wykorzystanie parametrów (36)
Rozdział 2. Właściwości i wiązanie danych (39)
- Klasyczne ziarenka JavaBean (39)
- Śledzenie zmian właściwości (40)
- Właściwości indeksowane (41)
- Interfejs Observer i klasa Observable oraz inne sposoby śledzenia zmian (42)
- Flow API (42)
- Właściwości JavaFX (42)
- Właściwości R/W (42)
- Właściwości R (44)
- Śledzenie zmian właściwości JavaFX (45)
- Śledzenie ważności zmiennej (46)
- Wiązanie zmiennych (47)
- Wiązanie jednostronne (47)
- Wiązanie dwustronne (48)
- Wiązanie wysokopoziomowe (50)
- Wiązanie niskopoziomowe (51)
- Zapobieganie wyciekom pamięci (52)
- Adaptacja JavaBean do JavaFX Bean (53)
- Tworzenie adaptera (53)
Rozdział 3. Kolekcje (55)
- ObservableList (55)
- Tworzenie arraylisty (56)
- Obserwacja zmian w arrayliście (56)
- Obserwacja zmian właściwości w arrayliście (57)
- Inne sposoby tworzenia arraylisty (58)
- Tworzenie innych list (58)
- Inne sposoby tworzenia list (59)
- Czynności wykonywane na listach (59)
- ObservableSet (59)
- Tworzenie zbioru (59)
- Tworzenie innych zbiorów (59)
- Obserwacja zmian w zbiorze (60)
- ObservableMap (61)
- Tworzenie hashmapy (61)
- Tworzenie innych map (61)
- Obserwacja zmian w hashmapie (61)
- ObservableArray (62)
- Tworzenie tablic (62)
- Obserwowanie tablic (63)
- Praca z tablicami (63)
- Kolekcje jako właściwości (64)
- SimpleListProperty (64)
- SimpleSetProperty i SimpleMapProperty (66)
- Wiązanie właściwości kolekcji (66)
- Wiązanie referencji do kolekcji (67)
- Wiązanie zawartości kolekcji (67)
- Wiązanie do elementu kolekcji (68)
- Filtrowanie kolekcji (69)
- Sortowanie kolekcji (70)
Rozdział 4. Okno na scenę (71)
- Window (71)
- Pokazywanie i ukrywanie okna (71)
- Wymiary okna (72)
- Położenie okna (72)
- Informacje o wyświetlaczu (73)
- Właściwość opacity (74)
- Właściwość focused (75)
- Właściwość scene (75)
- Właściwość showing (75)
- Właściwości okna (76)
- Dane użytkownika (76)
- Stage (76)
- Wielkość okna (77)
- Styl okna (78)
- Właściciel okna (79)
- Modalność (80)
- Tytuł okna (82)
- Ikona okna (82)
- Zamknięcie okna (83)
- Metody toTop() i toBack() (83)
- Zmiana rozmiarów okna (83)
- Użycie "dekoracji" okna (84)
- Mocowanie okna (85)
- Tryb pełnoekranowy (85)
- showAndWait() (87)
- Uwagi (88)
Rozdział 5. Obsługa zdarzeń (89)
- Drzewo (89)
- Drzewo elementów (90)
- Zdarzenie (Event) (91)
- Typ zdarzenia (EventType) (92)
- Cel zdarzenia (EventTarget) i uchwyt zdarzenia (EventHandler) (92)
- Obieg zdarzeń (93)
- Faza przechwytywania (93)
- Faza bąbelkowania (94)
- Filtry zdarzeń i uchwyty zdarzeń (94)
- Konsumpcja zdarzeń (95)
- Usuwanie filtrów i uchwytów (96)
- Metody skrótowe (96)
- Dyspozytor zdarzenia EventDispatcher (97)
- Łańcuch dyspozytorów EventDispatchChain (97)
- Zdarzenia okien WindowEvent (97)
- Typy zdarzeń (97)
- Dodawanie uchwytów i filtrów zdarzeń (98)
- Usuwanie uchwytów i filtrów zdarzeń (99)
- Zestawienie właściwości uchwytów (99)
- Metody skrótowe (100)
- Metoda fireEvent(Event) (100)
- Zdarzenia wejścia InputEvent (100)
- Zdarzenia myszy MouseEvent (101)
- Klasa MouseDragEvent (107)
- Zdarzenia klawiatury KeyEvent (110)
- Inne zdarzenia (112)
Rozdział 6. Wchodzimy na scenę (113)
- Scena (Scene) (113)
- Scenograf (113)
- Elementy 2D i 3D (114)
- Kursor (114)
- Typy kursora (114)
- Ustawianie kursora dla sceny (115)
- Ustawianie kursora dla węzła (115)
- Własny kursor (116)
- Trochę więcej o scenie (116)
- Kombinacje klawiszy (116)
- Dane użytkownika (117)
- Migawka ze sceny (118)
- Arkusze CSS (120)
Rozdział 7. Rozplątywanie węzłów (121)
- Klasa Node - schemat dziedziczenia (121)
- Podział węzłów (122)
- Identyfikacja węzłów (122)
- Widzialność (122)
- System współrzędnych (123)
- Przeliczanie współrzędnych (123)
- Granice węzła (126)
- Otoczka (126)
- Właściwość layoutBounds (126)
- Właściwość boundsInLocal (127)
- Właściwość boundsInParent (127)
- Rozszerzalność (128)
- Ustawianie wymiarów (128)
- Opieka rodzicielska (129)
- Przecięcia węzłów (129)
- Przycinanie (130)
- Buforowanie (131)
- Zmiana położenia w scenografie (132)
- Aktywny, nieaktywny (133)
- Cykl fokusu (133)
- Pole powierzchni (134)
- Tworzenie migawek (134)
- Metoda snapshot(SnapshotParameters, WritableImage) (135)
- Metoda snapshot(Callback, SnapshotParameters, WritableImage) (135)
Rozdział 8. Kształty 2D (137)
- Schemat dziedziczenia (137)
- Wybrane właściwości i metody klasy Shape (137)
- fill (137)
- smooth (138)
- strokeDashOffset (138)
- strokeLineCap (139)
- strokeLineJoin (139)
- strokeMiterLimit (140)
- stroke (140)
- strokeType (141)
- strokeWidth (141)
- Metoda substract(Shape, Shape) (142)
- Metoda union(Shape, Shape) (142)
- Linia (Line) (143)
- Linia przerywana (143)
- Linia łamana (Polyline) (144)
- Czcionki (145)
- Terminologia czcionek (145)
- Dostępne czcionki (145)
- Czcionka domyślna (146)
- Tworzenie czcionki (146)
- Tekst (Text) (147)
- baselineOffset (147)
- boundsType (148)
- font (148)
- fontSmoothingType (149)
- lineSpacing (149)
- strikethrough (149)
- textAlignment (149)
- textOrigin (150)
- text (150)
- underline (151)
- wrappingWidth (151)
- x, y (151)
- Przykład (151)
- Prostokąt (Rectangle) (152)
- Kontur prostokąta (153)
- Koło (Circle) (154)
- Elipsa (Ellipse) (155)
- Łuk, wycinek koła (Arc) (155)
- Wielokąt (wielobok) (Polygon) (158)
- Krzywe Béziera (159)
- Kwadratowa krzywa Béziera (QuadCurve) (159)
- Sześcienna krzywa Béziera (CubicCurve) (160)
- Ścieżka (Path) (161)
- Klasa PathElement (161)
- Klasa ArcTo (162)
- Przykład 1. (163)
- Przykład 2. (163)
- Klasa FillRule (164)
- Ścieżka SVG (SVGPath) (165)
Rozdział 9. Feeria kolorów (169)
- Modele kolorów (169)
- Modele RGB i RGBA (169)
- Model HSL/HSV (170)
- Palety kolorów (171)
- Paleta 16 kolorów nazwanych (171)
- Paleta Web Safe Colors (171)
- Paleta kolorów nazwanych CSS (172)
- Rozszerzona paleta kolorów nazwanych EN (172)
- Paleta kolorów mających polskie nazwy (172)
- Paleta nazwanych kolorów HSL (172)
- Paleta kolorów HSL (172)
- Kolory w JavaFX (172)
- Tworzenie kolorów (173)
- Zmiany jasności (176)
- Zmiany nasycenia (176)
- Odcienie szarości (176)
- Interpolacja koloru (177)
- Odwrócenie koloru (177)
- Wypełnienie obrazem (178)
- Desenie proporcjonalne (179)
- Desenie nieproporcjonalne (181)
- Gradienty (181)
- Obiekt Stop (181)
- Gradienty liniowe (182)
- Gradienty radialne (185)
- Przeliczenia kolorów (190)
Rozdział 10. Przekształcenia (191)
- Schemat dziedziczenia (191)
- Algebra liniowa (191)
- Wektor kolumnowy punktu (192)
- Wektor punktu 3D (192)
- Wektor punktu 2D (192)
- Macierz transformacji (192)
- Macierz transformacji 3D (192)
- Macierz transformacji 2D (192)
- Mnożenie wektora 3D przez macierz 3D (193)
- Mnożenie wektora 2D przez macierz 2D (193)
- Mnożenie macierzy 2D przez macierz 2D (194)
- Mnożenie macierzy (194)
- Translacja (przesunięcie) (196)
- Macierz translacji 3D (196)
- Macierz translacji 2D (196)
- Translacja w JavaFX (196)
- Skalowanie (197)
- Macierz skalowania 3D (197)
- Macierz skalowania 3D z uwzględnieniem punktu skalowania (197)
- Macierz skalowania 2D (198)
- Macierz skalowania 2D z uwzględnieniem punktu skalowania (198)
- Skalowanie w JavaFX (198)
- Przekrzywienie (200)
- Macierz przekrzywienia 2D (200)
- Macierz przekrzywienia 2D z uwzględnieniem punktu przekrzywienia (200)
- Przekrzywienia w JavaFX (200)
- Obrót (201)
- Macierze obrotu 3D (201)
- Macierze obrotu 3D z uwzględnieniem punktu obrotu (202)
- Macierz obrotu 2D (203)
- Macierz obrotu 2D z uwzględnieniem punktu obrotu (204)
- Obrót w JavaFX (204)
- Przekształcenia afiniczne (205)
- Odbicie względem prostej przechodzącej przez punkt (0, 0) (205)
- Odbicie względem prostej nieprzechodzącej przez punkt (0, 0) (207)
- TransformChangeEvent (209)
- Łączenie transformacji (209)
- Dołączanie transformacji (210)
- Metoda void append(Transform) klasy Affine (210)
- Metoda void prepend(Transform) klasy Affine (211)
- Inwersja macierzy 2D (211)
- Macierz jednostkowa (211)
- Wyznacznik macierzy (211)
- Transpozycja macierzy (213)
- Dzielenie macierzy (214)
- Macierz odwrotna (214)
Rozdział 11. Kształty 3D, kamery i światła (219)
- Schemat dziedziczenia (219)
- Klasa Shape3D (219)
- Tworzenie obiektu 3D (220)
- Sposób renderowania (DrawMode) (221)
- Widoczność figury (CullFace) (222)
- Kamery (223)
- Kamera równoległa (ParallelCamera) (223)
- Kamera perspektywiczna (PerspectiveCamera) (223)
- Operowanie kamerą (224)
- Światła (226)
- AmbientLight (226)
- PointLight (227)
- Materiał (227)
- PhongMaterial (228)
- A jednak się kręci - ruch obiektu 3D (229)
- Klasa SubScene (230)
Rozdział 12. Zdarzenia gestów i dotyku (231)
- Ważne uwagi (231)
- Schemat dziedziczenia (231)
- Zdarzenia dotyku TouchEvent (232)
- Typy zdarzeń (232)
- Informacje o zdarzeniu (232)
- Punkt dotyku TouchPoint (233)
- Cel zdarzenia (233)
- TouchPoint.STATE (234)
- Wynik próbkowania PickResult (234)
- Zdarzenia wielodotykowe (234)
- Zdarzenia gestów GestureEvent (235)
- Zdarzenia obrotu RotateEvent (236)
- Zdarzenia przewijania ScrollEvent (238)
- Zdarzenia przeciągania palcem SwipeEvent (240)
- Zdarzenia rozszerzania ZoomEvent (241)
- Zdarzenia myszy a zdarzenia gestów (242)
Rozdział 13. Efekty (243)
- Klasy efektów (243)
- Efekt DropShadow - padający (rzucany) cień (244)
- Efekt InnerShadow - cień wewnętrzny (246)
- Shadow - cień (247)
- BoxBlur - rozmycie pudełkowe (248)
- GaussianBlur - rozmycie Gaussa (249)
- MotionBlur - rozmycie smugowe (249)
- Bloom - odblask (250)
- Glow - poświata (251)
- Reflection - odbicie (251)
- SepiaTone - filtr sepia (252)
- FloatMap (253)
- DisplacementMap - mapa przemieszczeń (pikseli) (254)
- ColorAdjust - podkręcenie koloru (255)
- ColorInput - kolor wejściowy (256)
- ImageInput - obraz wejściowy (257)
- BlendMode - tryb mieszania (257)
- Blend - mieszanina (259)
- Mieszanie kolorów (259)
- Mieszanie obrazów (260)
- Wtapianie w tło (261)
- PerspectiveTransform - zmiana perspektywy (262)
- Lighting - oświetlenie (263)
- Klasa Light (265)
- Light.Distant (265)
- Light.Point (266)
- Light.Spot (266)
- Łączenie efektów (267)
Rozdział 14. Animacje (269)
- Schemat dziedziczenia (269)
- Wprowadzenie (270)
- Klasa Duration (271)
- Interpolacja (273)
- Klasa Interpolator.LINEAR (273)
- Klasa Interpolator.DISCRETE (275)
- Klasy Interpolator.EASE_xxx (276)
- Metody klasy Interpolator (279)
- Metody statyczne klasy Interpolator (280)
- Klasa KeyValue (282)
- Klasa KeyFrame (282)
- eventHandler (282)
- name (283)
- keyValues (284)
- duration (284)
- Klasa Timeline (284)
- Klasa Animation (284)
- Właściwości (285)
- Metody (286)
- Przykład (286)
- Klasa AnimationTimer (287)
- Klasa Transition (287)
- StrokeTransition (288)
- FillTransition (289)
- FadeTransition (289)
- ScaleTransition (290)
- RotateTransition (291)
- TranslateTransition (292)
- PathTransition (292)
- PauseTransition (293)
- SequentialTransition (293)
- ParallelTransition (295)
Rozdział 15. Kontenery i zarządcy rozkładów (297)
- Schemat dziedziczenia (297)
- Klasa Parent (298)
- Klasa Group (298)
- Klasa Region (299)
- Pole zawartości i dopełnienie (300)
- Tło i obramowanie (301)
- Kształt regionu (301)
- Dzieci regionu (302)
- Tworzenie regionu (302)
- Klasa Background (304)
- Klasa BackgroundFill (304)
- Klasa BackgroundImage (305)
- Klasa Border (308)
- Klasa BorderStroke (309)
- Klasa BorderImage (310)
- Zarządcy rozkładów (313)
- Rozkład dowolny (Pane) (314)
- Wyliczenie (Pos) (315)
- Rozkład warstwowy (StackPane) (316)
- Rozkład poziomy (HBox) (318)
- Rozkład pionowy (VBox) (320)
- Rozkład przepływowy (FlowPane) (323)
- Rozkład tekstowy (TextFlow) (325)
- Rozkład brzegowy (BorderPane) (326)
- Rozkład kotwowy (AnchorPane) (328)
- Rozkład kafelkowy (TilePane) (329)
- Rozkład siatkowy (GridPane) (331)
Rozdział 16. Wyskakujące okna (335)
- Schemat dziedziczenia (335)
- Wyskakujące okno (PopupWindow) (335)
- Okno podręczne (Popup) (337)
- Okno kontrolne (PopupControl) (338)
- Podpowiedź (Tooltip) (338)
- OverrunStyle (339)
- Podpowiedzi zawierające obraz i klasa ContentDisplay (340)
- Menu kontekstowe (ContextMenu) (342)
- Element menu (MenuItem) (342)
Rozdział 17. Panele i przyciski (345)
- Klasa Control (345)
- Klasa Labeled (345)
- TitledPane - panel z nazwą (346)
- Accordion - akordeon (348)
- ScrollBar - pasek przewijania (349)
- ScrollPane - panel przewijany (351)
- SplitPane - panel dzielony (352)
- Tab - zakładka (353)
- TabPane - panel zakładek (kartoteka) (354)
- ButtonBase (357)
- Button - przycisk (358)
- ButtonBar - pasek przycisków (359)
- Hyperlink - łącze (361)
Rozdział 18. Kontrolki wyboru (365)
- ToggleButton - przełącznik (365)
- ToggleGroup - grupa przycisków (366)
- RadioButton - przycisk radiowy (opcja wyboru) (367)
- CheckBox - pole wyboru (368)
- ChoiceBox - krótka lista wyboru (370)
- SelectionModel i SingleSelectionModel (371)
- StringConverter (372)
- Cell (374)
- MultipleSelectionModel (376)
- FocusModel (377)
- ListView - lista wyboru (377)
- Przewijanie do indeksu, ustawianie fokusu i orientacji (379)
- Praca z modelem wyboru (380)
- Wykorzystywanie fabryki komórek (381)
- TextFieldListCell (383)
- ComboBoxListCell (385)
- ChoiceBoxListCell (386)
- CheckBoxListCell (386)
- Zdarzenia edycji (387)
- ComboBoxBase (387)
- ComboBox - złożona lista wyboru (389)
- ColorPicker - próbnik koloru (392)
- DatePicker - próbnik daty (393)
- Fabryka dat (397)
Rozdział 19. Menu (399)
- Schemat dziedziczenia elementów menu (399)
- MenuBar - pasek menu (399)
- MenuItem - opcja menu (400)
- Menu (401)
- SeparatorMenuItem - separator opcji (402)
- CheckMenuItem - opcja wyboru (403)
- RadioMenuItem - opcja radiowa (404)
- CustomMenuItem - opcja dowolna (404)
- MenuButton - przycisk menu (406)
- SplitMenuButton - dzielony przycisk menu (407)
Rozdział 20. Kontrolki tekstowe, liczbowe i inne (409)
- TextInputControl (409)
- TextField - pole tekstowe (411)
- TextFormatter (413)
- TextFormatter.Change (413)
- UnaryOperator (414)
- PasswordField - pole hasła (416)
- TextArea - powierzchnia tekstowa (417)
- HTMLEditor - edytor HTML (418)
- ProgressIndicator - wskaźnik postępu (421)
- ProgressBar - pasek postępu (422)
- Slider - suwak (423)
- Spinner - przewijarka (425)
- SpinnerValueFactory (426)
- Label - etykieta (427)
- Separator (427)
- ToolBar - pasek narzędziowy (428)
Rozdział 21. Dialogi (429)
- Optional (429)
- Obsługa obiektu (431)
- Filtrowanie i mapowanie (432)
- ButtonType (433)
- DialogPane - rozkład dialogowy (434)
- Dialog (434)
- Praca z dialogami (436)
- Konfigurowanie dialogu i rozkładu (437)
- Pobieranie wyniku (439)
- Walidacja stanu dialogu i jego zamykanie (440)
- Konwerter wyniku (442)
- Alert - dialog alarmu (442)
- ChoiceDialog - dialog wyboru (444)
- TextInputDialog - dialog tekstowy (445)
- FileChooser - okno wyboru plików (445)
- DirectoryChooser - okno wyboru folderów (447)
Rozdział 22. Kontrolki prezentacji danych (449)
- Pagination - stronicowanie (449)
- TableView - tabela danych (451)
- Kolumna tabeli TableColumn (453)
- Fabryka wartości właściwości (PropertyValueFactory) (453)
- Placeholder (454)
- MapValueFactory (455)
- Zmiana widoczności i kolejności kolumn (455)
- Sortowanie (456)
- Zmiana rozmiaru kolumny i zagnieżdżanie kolumn (457)
- Komórka tablicy TableCell (459)
- Wybieranie elementów (460)
- Fokus (461)
- Edycja danych (462)
- Przewijanie (463)
- TreeView - drzewo danych (464)
- Edycja danych (467)
- Model wybierania (469)
- TreeTableView - tabela z drzewem danych (469)
Rozdział 23. Wykresy (471)
- Schemat dziedziczenia (471)
- Klasa Chart (472)
- Klasa Axis (472)
- Klasa CategoryAxis (473)
- Klasa ValueAxis (473)
- Klasa NumberAxis (474)
- PieChart - wykres kołowy (474)
- Klasa PieChart.Data (475)
- Klasa XYChart (476)
- Klasa statyczna XYChart.Series (477)
- Klasa statyczna XYChart.Data (477)
- BarChart - wykres paskowy (478)
- StackedBarChart - wykres paskowy skumulowany (479)
- ScatterChart - wykres punktowy (480)
- LineChart - wykres liniowy (481)
- BubbleChart - wykres bąbelkowy (482)
- AreaChart - wykres powierzchniowy (483)
- StackedAreaChart - wykres warstwowy (484)
Rozdział 24. Praca z obrazami (485)
- Image (485)
- Pobieranie obrazu za pomocą InputStream i URL-a (487)
- ImageView (489)
- PixelFormat.Type (490)
- Zamiana A, R, G, B na int (490)
- Zamiana int na A, R, G, B (491)
- PixelFormat (492)
- WritablePixelFormat (493)
- PixelReader (494)
- WritableImage (496)
- PixelWriter (497)
- Tworzenie obrazów od zera (499)
- Zapisywanie obrazów (500)
Rozdział 25. Rysowanie na płótnie (503)
- Canvas (503)
- GraphicsContext (504)
- Atrybut wypełnienia (505)
- Atrybuty konturu (505)
- Ogólne atrybuty renderowania (507)
- Atrybuty tekstu (511)
- Atrybut ścieżki (512)
- Wyświetlanie kształtów (513)
- Wyświetlanie tekstu (514)
- Wyświetlanie ścieżek (514)
- Wyświetlanie obrazów (515)
- Inne metody (516)
- Przykłady (516)
- Szachownica (516)
- Smok Heighwaya (517)
- Symbol jin-jang (518)
- Animowany symbol jin-jang (520)
- Rozety Grandiego (520)
Rozdział 26. Obsługa audio i wideo (523)
- AudioClip (526)
- Track (527)
- Media (527)
- MediaPlayer (528)
- MediaPlayer.Status (531)
- MediaView (531)
- AudioEqualizer (533)
- EqualizerBand (534)
- Klasy zdarzeń i wyjątków (534)
- Przykłady (535)
- Odtwarzacz audio (535)
- Odtwarzacz wideo (537)
- Czas i szybkość odtwarzania (540)
Rozdział 27. Przeciąganie systemowe (543)
- Typy przeciągania (543)
- TransferMode (544)
- DragEvent (544)
- Typ MIME (546)
- DataFormat (546)
- Clipboard (547)
- ClipboardContent (548)
- Dragboard (548)
- Przykłady (548)
- Przenoszenie tekstu (548)
- Przenoszenie HTML (549)
- Przenoszenie obrazów (550)
Rozdział 28. Wielowątkowość (553)
- Jak zawiesić aplikację (553)
- Jak odwiesić aplikację - tworzenie wątku roboczego (554)
- Jak zaktualizować główny wątek aplikacji (555)
- Klasa Executors (556)
- Wyliczenie Worker.State (556)
- Klasa WorkerStateEvent (557)
- Interface Worker (557)
- Klasa Task (559)
- Klasa Service (563)
- Klasa ScheduledService (565)
Rozdział 29. Stylizacja węzłów (569)
- CSS (569)
- Arkusze stylów (569)
- Domyślny arkusz stylów dla aplikacji (570)
- Zmiana stylu w kodzie Java (571)
- Arkusz stylów dla sceny (571)
- Ustawianie domyślnego arkusza stylów (571)
- Ustawianie dodatkowego arkusza stylów (572)
- Domyślny arkusz stylów dla podsceny (572)
- Klasa Parent a arkusze stylów (572)
- Klasa Region a arkusze stylów (573)
- Klasa Node a arkusze stylów (573)
- Właściwości id i style (573)
- Metadane CSS (574)
- Priorytety stylizacji (574)
- Standardy CSS w JavaFX (575)
- Dziedziczenie (575)
- Typy właściwości i jednostki (576)
- Selektory (577)
- Zmiany w Javie 9 (579)
Rozdział 30. Nashorn (581)
- Uruchomienie skryptu ze stringa (581)
- Uruchomienie skryptu z pliku (582)
- JavaFX w skrypcie (582)
- Wiązanie (583)
- Uproszczenie skryptu (584)
- Uchwyty zdarzeń (585)
Rozdział 31. Przeglądanie stron WWW (587)
- WebView (587)
- WebEngine (588)
- Wywołania zwrotne interfejsu (589)
- Uchwyt onAlert (590)
- Uchwyt confirmHandler (591)
- Uchwyt promptHandler (592)
- Uchwyt createPopupHandler (593)
- PopupFeatures (594)
- Uchwyt onResized (595)
- Uchwyt onVisibilityChanged (596)
- Uchwyt onStatusChanged (596)
- JSObject (596)
- Uruchamianie kodu JavaFX z poziomu JavaScriptu (598)
- Uruchamianie kodu JavaScript z JavaFX (599)
- Przeglądarka (599)
Rozdział 32. Współpraca ze Swingiem (601)
- Współpraca z biblioteką SWT (601)
- Aplety (601)
- JFXPanel (601)
- SwingNode (602)
- SwingFXUtils (603)
Rozdział 33. Ułatwienia dostępu (605)
- Ułatwienia dostępu w Windows 7 i nowszych (605)
- Pomoc dla osób niedowidzących (605)
- Pomoc dla osób z niepełnosprawnością ruchową (605)
- Pomoc dla osób niesłyszących (606)
- Narrator (606)
- Skróty klawiaturowe (608)
- Ułatwienia dostępu w JavaFX (608)
- Klasa Platform (608)
- AccessibleRole (608)
- AccessibleAttribute (614)
- AccessibleAction (619)
- Node (620)
- Współpraca z czytnikiem ekranowym (621)
- Ustawianie i odczyt właściwości (621)
- Używanie wyłącznie klawiszy (621)
- Tryb wysokiego kontrastu (622)
Rozdział 34. FXML (623)
- Witaj, FXML-u (623)
- Import klas (624)
- Kontrolery (625)
- Element (626)
- Stylizacja (627)
- Właściwości domyślne (628)
- Ustawianie właściwości (629)
- Tworzenie obiektów (629)
- Znacznik (630)
- Znacznik (631)
- Znaczniki i (631)
- Znacznik (632)
- Znacznik (633)
- Rozróżnianie atrybutów (633)
- Wiązanie wyrażeń (635)
- Scene Builder (636)
- Zalety i wady FXML-a (636)
- Zalety (636)
- Wady (636)
Rozdział 35. Drukowanie węzłów (637)
- Wyliczenia (638)
- JobSettings (639)
- PrinterJob (640)
- Przykłady (641)
- Najprostsze zadanie drukowania (641)
- Wyświetlanie okna ustawień strony (641)
- Wyświetlanie okna drukowania (642)
- Drukowanie strony internetowej (643)
Rozdział 36. Modularyzacja (645)
- Modularyzacja kodu (645)
- Co to jest moduł (645)
- Słowa kluczowe (646)
- Zależności cykliczne (646)
- Dyrektywy (648)
- Dyrektywy requires i exports (649)
- Dyrektywa requires transitive (653)
- Dyrektywa exports to (654)
- Dyrektywa opens to (655)
- Dyrektywa opens (656)
- Moduły otwarte (656)
- Tworzenie usług zlokalizowanych (656)
- Dyrektywy provides with oraz uses (657)
- Tworzenie usług (658)
- Dyrektywa requires static (660)
- Pusty plik module-info.java (661)
- Modularyzacja JDK (662)
- Moduły agregacyjne (662)
- Moduły nienazwane (662)
- Moduły automatyczne (663)
Skorowidz (665)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-4762-5 |
Rozmiar pliku: | 9,9 MB |