1 Intefejsy graczne. 1.1 Okienka. 1.2 Komponenty

Podobne dokumenty
JavaFX. Programowanie Obiektowe Mateusz Cicheński

JavaFX. Zaawansowane technologie Javy 2019

Programowanie obiektowe

JavaFX Platformy Technologiczne

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Java Platform Micro Edition

1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach

Katalog książek cz. 2

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Java - interfejs graficzny

Kontenery i komponenty graficzne

Wykład 7: Pakiety i Interfejsy

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Pierwsza ramka. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 10

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

KLASY, INTERFEJSY, ITP

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

public enum Environment { Development("Deweloperskie"), Test("Testowe"), Production("Produkcyjne"); private String name;

Aplikacje w środowisku Java

Zaawansowane aplikacje WWW - laboratorium

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Języki i metody programowania Java. Wykład 2 (część 2)

Programowanie obiektowe

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.

1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?

STWORZENIE PRZYKŁADOWEJ

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Kurs programowania. Wykład 4. Wojciech Macyna. 23 marca 2016

Programowane refleksyjne i serializacja

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

Programowanie w Internecie. Java

SWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe.

Aplikacja wielow tkowa prosty komunikator

Programowanie obiektowe

Aplikacje RMI Lab4

JAVA : WIĘCEJ O JAVAFX 1. WSTĘP

Komponenty sterowane komunikatami

Programowanie w języku Java

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Remote Method Invocation 17 listopada 2010

WSZYSTKIE PRZYKŁADY DO MATERIAŁU DOSTĘPNE POD ADRESEM: examples4java/javafx oraz

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Java. Programowanie Obiektowe Mateusz Cicheński

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Aplikacja wielowątkowa prosty komunikator

Programowanie Obiektowe GUI

Podejście obiektowe do budowy systemów rozproszonych

Dokumentacja do API Javy.

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis,

Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

1 Atrybuty i metody klasowe

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

package pakieta; import pakietb.b; package pakietb; public class B { B(){} public class A { private B b; A(B b) { this.b = b; } }

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

Aplikacje RMI

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006

Kurs programowania. Wykład 5. Wojciech Macyna. 31 marzec 2016

1. Co można powiedzieć o poniższym kodzie?

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

Programowanie obiektowe

WSNHiD, Programowanie 2, Lab. 3. Trwałość danych

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Stanowe komponenty sesyjne

Programowanie obiektowe

Programowanie obiektowe

Przykład -

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Systemy operacyjne na platformach mobilnych

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

Systemy operacyjne na platformach mobilnych

Google Web Toolkit. Piotr Findeisen

Połączenia między bazami danych i programem w języku Java część 2

Tworzenie i wykorzystanie usług

1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Podstawy Języka Java

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Wywoływanie metod zdalnych

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Podstawy języka Java. przygotował:

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Programowanie obiektowe

Transkrypt:

1 Intefejsy graczne JavaFX pocz tkowo zewn trzna biblioteka j zyka Java obecnie jest zalecanym rozwi zaniem tworzenia interfejsów u»ytkownika w nowych programach. 1.1 Okienka Klasa Application jest gªówn klas aplikacji JavaFX i jest odpowiedzialna za wy±wietlanie okien. import javafx.application.application; import javafx.scene.scene; import javafx.scene.layout.stackpane; import javafx.stage.stage; public class FXTests extends Application { StackPane root = new StackPane(); public static void main(string[] args) { launch(args); 1.2 Komponenty Istnieje szereg komponentów, które mog zosta dodane do okien: Label Button ComboBox ProgressBar... 1

import javafx.application.application; import javafx.scene.scene; import javafx.scene.control. ; import javafx.scene.layout.stackpane; import javafx.stage.stage; public class FXTests extends Application { StackPane root = new StackPane(); btn.settext("hello"); root.getchildren().add(btn); / Label lbl = new Label("Hello"); root.getchildren().add(lbl); / public static void main(string[] args) { launch(args); 1.3 Menad»ery ukªadu Klasy menad»erów ukªadu odpowiadaj za prawidªowe rozªo»enie komponentów w oknie: StackPane BorderPane HBox VBox GridPane... 1.3.1 BorderPane 2

BorderPane root = new BorderPane(); Button btn2 = new Button("Button"); btn.settext("say 'Hello World'"); Label lbl = new Label("Hello"); root.settop(btn); root.setright(btn2); root.setleft(lbl); 1.3.2 HBox HBox root = new HBox(); Button btn2 = new Button("Button"); btn.settext("say 'Hello World'"); Label lbl = new Label("Hello"); root.getchildren().add(btn); root.getchildren().add(btn2); root.getchildren().add(lbl); 1.3.3 VBox VBox root = new VBox(); Button btn2 = new Button("Button"); btn.settext("say 'Hello World'"); Label lbl = new Label("Hello"); root.getchildren().add(btn); root.getchildren().add(btn2); root.getchildren().add(lbl); 3

2 Obsªuga zdarze«btn.setonaction(new EventHandler<ActionEvent>() { public void handle(actionevent event) { System.out.println("Cliked! :)"); ); 3 J zyk FXML Do deklaracji interfejsu u»ytkonika mo»na tak»e wykorzysta specjalny j zyk FXML, dzi ki któremu mo»na oddzieli sposób dziaªania aplikacji od jego wygl du. 3.1 Plik FXML <?xml version="1.0" encoding="utf 8"?> <?import java.lang.?> <?import java.util.?> <?import javafx.scene.?> <?import javafx.scene.control.?> <?import javafx.scene.layout.?> <VBox id="anchorpane" prefheight="400.0" prefwidth="600.0" xmlns:fx="http://javafx.com/ fxml/1" fx:controller="com.adeik.fxtests.fxmlcontroller"> <Label text="label" id="label" minheight="16" minwidth="69" prefheight="16" prefwidth=" 69" fx:id="label" /> <Button text="button" onaction="#buttonhandler" /> <TextField text="textfield" fx:id="textfield" /> </VBox> 3.2 Kontroler Obiekt kontrolera odpowiada za obsªug interfejsu u»ytkownika. package com.adeik.fxtests; import java.net.url; import java.util.resourcebundle; import javafx.event.event; 4

import javafx.fxml.fxml; import javafx.fxml.initializable; import javafx.scene.control.textfield; public class FXMLController implements Initializable { @FXML private TextField textfield; public void initialize(url url, ResourceBundle rb) { // TODO @FXML protected void buttonhandler(event e){ textfield.settext("hello!"); 3.3 Okienko package com.adeik.fxtests; import java.io.ioexception; import javafx.application.application; import javafx.fxml.fxmlloader; import javafx.scene.scene; import javafx.scene.layout.pane; import javafx.stage.stage; public class FXMLTest extends Application { try { Pane mypane = (Pane)FXMLLoader.load(FXMLTest.class.getResource("/com/adeik/fxtests /FXML.fxml")); Scene myscene = new Scene(myPane); primarystage.setscene(myscene); catch (IOException ex) { ex.printstacktrace(); public static void main(string[] args) { launch(args); 4 Zadania do wykonania 1. Zapozna si z programem SceneBuilder 5

2. Zapzna si z dokumentacj klas menad»erów ukªadu (JavaFX Layout Managers) 3. Stworzy okno z komponentami i rozmieszczeniem zaproponowanym przez prowadz cego 4. Obsªu»y zdarzenia za pomoc EventHandlerów 5. Wykorzysta lambdy do obsªugi zdarze«6. Stworzy rozkªad komponentów za pomoc j zyka FXML 6