Podstawy Swing. Tomasz Borzyszkowski

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

Tworzenie elementów graficznych

Podstawy Języka Java

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

LABORATORIUM 7 Cel: 1_1

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

Programowanie zdarzeniowe

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Programowanie w Javie Wykład 6 Okienka w Javie (AWT)

Rysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit)

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Architektura interfejsu użytkownika

PWŚG Ćwiczenia 13. Ukończoną pracę należy przesłać na adres lub

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Grafika i komunikacja człowiek komputer Laboratorium. Część 3: Tekst, czcionki, kolory

Język Java część 2 (przykładowa aplikacja)

GUI - projektowanie interfejsów cz. II

Programowanie zdarzeniowe

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

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

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Programowanie aplikacji na urządzenia mobilne

Programowanie obiektowe

Podręcznik użytkownika programu. Ceremonia 3.1

Graphic User Interfaces pakiet Swing

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

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

Microsoft Small Basic

Wymagania edukacyjne - Informatyka w klasie I

Część II Wyświetlanie obrazów

Programowanie graficznych interfejsów użytkownika

Wykład A1. AutoCAD Dr inż. Jarosław Bydłosz

Programowanie aplikacji mobilnych

Programowanie Obiektowe GUI

System Gokart Timing

Ćwiczenie 1: Pierwsze kroki

Język Java część 2 (przykładowa aplikacja)

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Cykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp

Kontenery i komponenty graficzne

AutoCAD LT praca na obiektach rastrowych i nakładanie barw z palety RGB na rysunki.

PLAN WYNIKOWY KLASA 1

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

WinSkład / WinUcz 15.00

WSTAWIANIE GRAFIKI DO DOKUMENTU TEKSTOWEGO

Ćwiczenie pochodzi ze strony

Grafika w aplikacjach lp. Jak zmienić kolor tła?

Wykład A1. AutoCAD. Jarosław Bydłosz Katedra Geomatyki

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Dodawanie grafiki i obiektów

Projektowanie Skinów w programie Taboret2

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

II Tworzenie klasy Prostokąt dziedziczącej z klasy wątku

Java - interfejs graficzny

Techniki wstawiania tabel

Podstawowe elementy GUI cz. 2 i 3 - zadania

Java Podstawy. Michał Bereta

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

JAVA CZ.2 Programowanie obiektowe. poniedziałek, 20 kwietnia 2009

Rozdział II. Praca z systemem operacyjnym

Multimedia JAVA. Historia

Pokaz slajdów na stronie internetowej

Formularze w programie Word

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

INSTRUKCJA DO ĆWICZENIA 5

Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth?

Dodanie nowej formy do projektu polega na:

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

GUI - projektowanie interfejsów cz. II

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Tworzenie infografik za pomocą narzędzia Canva

W dowolnej przeglądarce internetowej należy wpisać poniższy adres:

Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum

3.7. Wykresy czyli popatrzmy na statystyki

ActionFX oprogramowanie do sterowania efektami platform i kin 7D V1.0.1

I. Interfejs użytkownika.

Grafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Kolory elementów. Kolory elementów

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

etrader Pekao Podręcznik użytkownika Jak zacząć pracę z etrader Pekao?

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ I. JAK ZACZĄĆ PRACĘ Z ETRADER PEKAO? SPIS TREŚCI

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

System Informatyczny CELAB. Terminy, alarmy

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

Agencja Restrukturyzacji i Modernizacji Rolnictwa

WAŻNE! colour.me Google Fonts tutaj

W kolejnym odcinku zajmiemy się umieszczaniem w naszym projekcie zestawu ikon służących szybkiemu korzystaniu z opcji programu.

Edytor tekstu MS Word podstawy

APLIKACJE WCHODZĄCE W SKŁAD PAKIETU MS OFFICE DLA UŻYTKOWNIKÓW DOMOWYCH

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Transkrypt:

Podstawy Swing Tomasz Borzyszkowski

Wprowadzenie Już Java 1.0 zawierała bibliotekę AWT (Abstract Window Toolkit) służącą do oprogramowania GUI. Kolejne wersje Java również wspierały to rozwiązanie. Swing jest częścią JFC (Java Foundation Classes) zestawu predefiniowanych klas definiujących różne API użytkownika. Korzyści wynikające z używania zestawu Swing (w stosunku do AWT): Posiada bogatszy i łatwiejszy w użyciu zestaw elementów interfejsu użytkownika Rzadko występują błędy zwiazane z niezgodnością platformy Programy Swing działają tak samo na wszystkich platformach Swing jest bardziej uniwersalny niż starsze rozwiązania bazujące na AWT (i odpowiednikach z danego systemu operacyjnego). Jednak wygląd aplikacji bazującej na Swingu może bardzo się różnić od wyglądu, do którego użytkownik przyzwyczaił się pod danym systemem operacyjnym. 2

Proste ramki Zobacz: TestProstejRamki.java Biblioteka AWT posiada, opartą na odpowiednikach, klasę Frame obsługującą okna najwyższego poziomu. Wersja tej klasy dostarczana przez Swing nazywa się JFrame i dziedziczy z Frame. Oznacza to, że wszystkie elementy okna są rysowane przez menedżera okien systemu operacyjnego, a nie przez Swing. Ramki są pojemnikami graficznymi (dziedziczą po Container) mogą zawierać inne komponenty GUI: przyciski, pola tekstowe,... Zobacz: TestRamkiScentrowanej.java Ramka okna powinna być tak pozycjonowana na ekranie by zachowywała proporcje względem innych elementów. Potrzebne informacje możemy pobrać z systemu operacyjnego za pośrednictwem klasy Toolkit. Do ustawiania pozycji lewego górnego narożnika ramki służy metoda: setlocation(x, y). To samo wraz z ustawieniem rozmiaru ramki uzyskamy metodą: setbounds(x, y, szerokosc, wysokosc). 3

Hierarchia klas JFrame i JPanel Object Component Container JComponent Window JPanel Frame JFrame 4

Budowa wewnętrzna obiektu JFrame W JFrame znajdują się 4 panele/powierzchnie. Najważniejsza jest powierzchnia zawartości. Na niej dodajemy nowe komponety okna. Reszta jest potrzebna do organizacji menu, powierzchni zawartości i wyglądu i wrażenia. Tytuł JFrame JRoot Pasek menu opcjonalnie JLayeredPane Powierzchnia zawartości Powierzchnia szklana 5

Umieszczanie elementów Aby umieścić na pow. zawartości nowe elementy należy: zdefiniować klasę rozszerzającą klasę JPanel przeładować metodę paintcomponent(graphics g) w niej definiujemy co ma być narysowane tworzymy obiekt zdefiniowanej klasy dodajemy go do pow. zawartości Panale są elementami interfejsu użytkownika, które: posiadają powierzchnię, po której można rysować są pojemnikami tj. mogą przechowywać inne komponenty interfejsu użytkownika (przyciski, pola tekstowe,...) Zobacz: NieWitajSwiecie.java 6

Rysowanie Zobacz: TestRysunku.java Już w wersji 1.0 JDK klasa Graphics posiadała metody umożliwiające rysowanie figur płaskich. Były jednak bardzo ograniczone. Od wersji SDK 2.0 J2SE zawiera bibliotekę Java 2D z bogatym zbiorem operacji graficznych. Aby rysować obiekty wystarczy utworzyć obiekt klasy Graphics2D. Najczęściej robi się to tak: Graphics2D g2 = (Graphics2D) g; gdzie g jest parametrem metody paintcomponent. W większości przypadków by narysować kształt, najpierw trzeba utworzyć komponent implementujący interfejs Shape, a następnie wywołać metodę draw klasy Graphics2D. W SDK 1.0 wielkości figur określano w pikselach. W SDK 2.0 używa się liczb rzeczywistych float i double. Większość kształtów posiada wewnętrzne klasy statyczne o koordynatach obu tych typów, np. Rectangle2D zawiera Rectangle2D.Float i Rectangle2D.Double. 7

Kolory i wypełnianie Zobacz:TestWypelnienia.java Metoda setpaint klasy Graphics2D pozwala na wybranie aktualnego koloru rysowania na ekranie. Klasa Color pozwala zdefiniować kolory używając konstruktora z parametrami RGB koloru. Istnieją w tej klasie także predefiniowane stałe reprezentujące najczęściej używane kolory: blue, yellow,...) Metoda setbackground klasy Component pozwala ustalić kolor tła. Analogicznie setforeground ustala kolor rysowania. Metody brighter() i darker() klasy Color tworzą jaśniejsze i ciemniejsze wersje koloru, dla którego zostały wywołane. Klasa SystemColor zawiera predefiniowane stałe opisujące kolory używane przez różne elementy systemu operacyjnego, np. ramka.setbackground(systemcolor.window); dopasuje kolor tła ramki do domyślnego koloru tła okien użytkownika. 8

Obrazki By wyświetlić obraz w oknie trzeba go najpierw pobrać z pliku lokalnego lub z Internetu. Umożliwia to obiekt typu Toolkit patrz przykład. Wyświetlić tak pobrany obraz można metodą drawimage klasy Graphics. Biblioteka AWT ładując obraz z Internetu często powołuje niezależny wątek oddelegowany do pobierania obrazu, podczas gdy program kontynuuje normalne wykonanie. Może to doprowadzić do zakończenia metody rysowania obrazu na oknie przed jego pobraniem wyświetlone zostanie puste miejsce. By temu zapobiec można zastosować obiekt typu MediaTracker, który potrafi śledzić stopień załadowania jednego lub większej liczby obrazów. Zobacz: TestObrazu.java Zobacz b. skomplikowany przykład: MandelbrotTest.java 9

Pola tekstowe Pola tekstowe klasy TextField implementują jednoliniowe pola tekstowe. Umożliwiają edycję linii tekstu. Konstruktory tej klasy pozwalają na inicjalizację pola tekstowego zadanym tekstem i/lub liczbą znaków. Zawartość pola tekstowego można pobierać i ustawiać metodami gettext() i settext() - metoda trim() pozwala usunąć początkowe i końcowe spacje. Model dla wszystkich dokumentów tekstowych jest opisywany przez interfejs Document. Dzięki temu można nakazać dokumentowi, a nie komponentowi tekstowemu, aby powiadamiał o zmianie zawartości komponentu, instalując obiekt słuchacza dokumentu. W przeciwnym przypadku śledzenie zmian tekstu musiało by być związane z nasłuchiwaniem klawiatury. Zobacz: TestTekstu.java Zobacz: TestObszaruTekstowego.java 10

Przełączniki Często nazywa się je grupą przełączników, radio buttons. Gdy jeden z przycisków zostaje włączony, poprzednio zaznaczony przycisk powinien się wyłączyć. Najpierw musimy utworzyć grupę przycisków: ButtonGroup gr = new ButtonGroup(); a następnie dodawać do nich kolejne przyciski: // wyłączony gr.add(new JRadioButton( Pierwszy, false)); // włączony gr.add(new JRadioButton( Pierwszy, true)); Zobacz: TestPrzelacznikow.java 11

Listy kombinowane Listy te służą do wybierania więcej niż jednej możliwosci z listy wyboru. Jeżeli lista ma włączoną opcję umożliwiającą edycję metoda seteditable(), masz możliwość zmiany wybranego łańcucha. Metoda getselecteditem() pobra aktualny element listy. Fragment zakładający listę: lista = new JComboBox(); lista.seteditable(true); lista.additem( Pierwszy ); lista. additem( Drugi ); lista.insertitemat( Pierwszy i pol, 1); Usuwamy: lista.removeitem( Drugi ); lista.removeitemat(0); Zobacz: TestListyKombinowanej.java 12

Menu Menu to obiekt typu JMenuBar, który można dołączyć w dowolnym miejscu okna zwykle jest to górna część ramki: ramka.setjmenubar(pasekmenu); Następnie możemy do paska menu dodawać kolejne menu rozwijalne obiekty typu JMenu, a do nich poszczególne pola typu JMenuItem lub sepatatory. Do elementów menu możemy dodawać ikony, mnemoniki i klawisze skrótu. Poszczególne pozycje menu możemy tekże włączać i wyłączać. Więcej szczegółów w przykładowym programie. Zobacz: TestMenu.java 13