Obsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener))

Wielkość: px
Rozpocząć pokaz od strony:

Download "Obsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener))"

Transkrypt

1 Obsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener)) "Sercem" działania aplikacji z graficznymi interfejsami użytkownika jest obsluga zdarzeń. JMenu, JToolBar, JButton

2 Reguły ogólne i mechanizm obsługi zdarzeń Interakcja użytkownika z GUI naszej aplikacji polega na wywoływaniu zdarzeń (np. kliknięcie w przycisk, wciśnięcie klawisza na klawiaturze etc). Zdarzenia są obiektami odpowiednich klas, określających rodzaj zdarzeń. Słuchacze są obiektami klas implementujących interfejsy nasłuchu. Interfejsy nasłuchu określają zestaw metod obsługi danego rodzaju zdarzeń. W klasach słuchaczy definiuje się metody odpowiedniego interfejsu nasłuchu zdarzeń, które określają co ma się dziać w wyniku zajścia określonego zdarzenia (metody obsługi odpowiednich zdarzeń)

3 Reguły ogólne i mechanizm obsługi zdarzeń Zdarzenie (obiekt odpowiedniej klasy zdarzeniowej) jest przekazywane do obsługi obiektowi-słuchaczowi tylko wtedy gdy Słuchacz ten jest przyłączony do Źródła zdarzenia. (przyłączenie za pomocą odwołania z.addnnnlistener(h),, gdzie: z Źródło zdarzenia, NNN - rodzaj zdarzenia, h Słuchacz danego rodzaju zdarzenia) Przekazanie zdarzenia do obsługi polega na wywołaniu odpowiedniej dla danego zdarzenia metody obsługi zdarzenia (zdefiniowanej w klasiesłuchacza) z argumentem obiekt-zdarzenie. Argument (obiekt klasy zdarzeniowej) zawiera informacje o okolicznościach zajścia zdarzenia (np. komu się przytrafiło? kiedy? jakie ma inne właściwości?). Jako parametr w metodzie obsługi może być odpytany o te informacje.

4 Reguły ogólne i mechanizm obsługi zdarzeń W Javie standardowo zdefiniowano bardzo dużo różnych rodzajów zdarzeń i interfejsów ich nasłuchu. Rozpatrzmy ogólne zasady na przykładzie zdarzenia "akcja" (obiekt klasy ActionEvent), które powstaje: po kliknięciu w przycisk lub naciśnięciu spacji, gdy przycisk ma fokus (zdolność do przyjmowania zdarzeń z klawiatury), po naciśnięciu ENTER w polu edycyjnym, po wyborze opcji menu, po podwójnym kliknięciu / ENTER na liście AWT (ale tylko AWT, nie dotyczy to listy Swingu - JList) lub na liście rozwijalnej Swingu - JComboBox w innych okolicznościach, ew. zdefiniowanych przez program

5 Interfejsy nasłuchujące oraz ich metody Listener Interface Adapter Class Listener Methods ActionListener none actionperformed(actionevent) ItemListener none itemstatechanged(itemevent) TableModelListener none tablechanged(tablemodelevent)

6

7 Wątek koordynujący zdarzenia Ze względu na efektywność klasy Swing nie są zabezpieczone na wypadek posługiwania się nimi przez kilka wątków [1] naraz. Za obsługę zdarzeń generowanych przez interfejs i rysowanie komponentów odpowiada specjalny wątek wątek koordynujący zdarzenia (ang. event-dispatching thread). Dzięki temu dwa zdarzenia nigdy nie są obsługiwane jednocześnie oraz rysowanie nie jest przerywane przez obsługę zdarzenia. Dla bezpieczeństwa cały kod modyfikujący GUI powinien być wykonywany przez wątek koordynujący zdarzenia. Jak się niedługo przekonasz większość operacji na komponentach GUI i tak wykonywanych jest podczas obsługi zdarzeń (przez wątek koordynujący). W pozostałych przypadkach pracę należy zlecić wątkowi koordynującemu przy pomocy metody SwingUtilities.invokeLater(), bądź SwingUtilities.invokeAndWait(). SwingUtilities.invokeLater(new Runnable() { public void run() { utwórzgui(); );

8 Zgodnie z podanymi wcześniej regułami musimy zatem stworzyć obiekt słuchacza akcji i przyłączyć go do przycisku. Klasa słuchacza akcji musi implementować interfejs nasłuchu akcji (ActionListener), i w konsekwencji - zdefiniować jego jedyną metodę actionperformed. W tej metodzie zawrzemy kod, który zostanie uruchomiony po kliknięciu w przycisk, np. wyprowadzenie na konsolę napisu "Wystąpiło zdarzenie!".

9 import java.awt.event.*; // konieczny dla obłsugi zdarzeń import javax.swing.*; class Handler implements ActionListener { //tworzymy słuchacza akcji public void actionperformed(actionevent e) { //jedyna metoda actionperformed System.out.println("Wystąpiło zdarzenie!"); public class GUI extends JFrame { public GUI() { JButton b = new Jbutton("Przycisk reagujący na wciśnięcie"); Handler h = new Handler(); b.addactionlistener(h); add(b); setdefaultcloseoperation(dispose_on_close); pack(); setvisible(true); public static void main(string[] a) { SwingUtilities.invokeLater(new Runnable() { public void run() { new GUI(); );

10 Możemy zatem implementować interfejs ActionListener w klasie, definiującej okno naszej aplikacji:

11 class GUI extends JFrame implements ActionListener { GUI() { JButton b = new JButton("Przycisk"); b.addactionlistener(this); // TEN obiekt będzie słuchaczem akcji add(b); pack(); show(); public void actionperformed(actionevent e) { System.out.println("Wystąpiło zdarzenie!"); public static void main(string[] a) { SwingUtilities.invokeLater(new Runnable() { public void run() { new GUI(); );

12 Anonimowe klasy wewnętrzne dla obsługi zdarzeń Nic nie stoi na przeszkodzie, by implementację interfejsu nasłuchu umieścić w anonimowej klasie wewnętrznej.

13

14 Jest to rozwiązanie podobne do implementacji interfejsu w klasie GUI (bo mamy jeden obiekt, obsługujący zdarzenia, który możemy przyłączyć do różnych źródeł). W przypadku interfejsów z jedną metodą obsługi zdarzeń jest w zasadzie kwestią gustu wybór jednego z tych dwóch rozwiązań (dodajmy jednak, że anonimowa klasa wewnętrzna tworzy dodatkowy plik klasowy; implementując interfejs nasłuchu w nazwanej klasie możemy używać jej obiektów do obsługi zdarzeń w innych klasach, co nie jest możliwe przy anonimowej klasie wewnętrznej; za to kod anonimowej klasy wewnętrznej może być lepiej zlokalizowany pod względem czytelności dużego programu

15 Jeżeli chcemy mieć tylko jeden obiekt klasy słuchacza do obsługi jednego źródła zdarzenia to dobrym rozwiązaniem będzie lokalna anonimowa klasa wewnętrzna:

16 // konieczne importy: javax.swing.*; i java.awt.event.*; class GUI extends JFrame { GUI() { JButton b = new JButton("Przycisk"); b.addactionlistener( new ActionListener() { public void actionperformed(actionevent e) { System.out.println("Wystąpiło zdarzenie!"); ); add(b); pack(); show(); public static void main(string[] a) { SwingUtilities.invokeLater(new Runnable() { public void run() { new GUI(); );

17 Tutaj będą stworzone dwie anonimowe klasy wewnętrzne (do obsługi przycisków open i close) oraz po jednym obiekcie-słuchaczu tych klas.

18 Przykładowo dwa przyciski służące do wczytywania i zapisywania pliku. class GUIfile extends JFrame { GUIfile() { setlayout(new FlowLayout()); //menadżer położenia JButton open = new JButton("Open file"); open.addactionlistener( new ActionListener() { public void actionperformed(actionevent e) { readfile(); ); JButton save = new JButton("Save file"); save.addactionlistener( new ActionListener() { public void actionperformed(actionevent e) { savefile(); ); add(open); add(close); pack(); show();... void readfile() { //... void savefile() { // public static void main(string[] a) { SwingUtilities.invokeLater(new Runnable() { public void run() { new GUIFile(); );

19 Uzyskiwanie informacji o zdarzeniach Nieprzypadkowo metodom obsługi przekazywany jest argument referencja do obiektu-zdarzenia. Dzięki temu możemy uzsyskać rozliczne informacje o zdarzeniu, które mamy obsłużyć. Klasy zdarzeniowe AWT (w tym ActionEvent) pochodzą od klasy AWTEvent, a ta od EventObject. java.lang.object +----java.util.eventobject +----java.awt.awtevent +----java.awt.event.actionevent Wszystkie klasy zdarzeniowe dziedziczą metodę: Object getsource() z klasy EventObject, która zwraca referencję do obiektu źródła zdarzenia.

20 Dodatkowo, w każdej klasie zdarzeniowej znajdują się metody do uzyskiwania specyficznej dla danego zdarzenia informacji. Np. w klasie ActionEvent mamy metodę: String getactioncommand() która zwraca napis, skojarzony ze zdarzeniem akcji (swoiste polecenie ). Domyślnie jest to: * dla przycisku i elementu menu - etykieta (napis na przycisku) * dla pola edycyjnego tekst zawarty w tym polu * dla listy rozwijalnej (JComboBox) wybrany element listy Domyślne ustawienie możemy zmienić, za pomocą użycia metody: void setactioncommand(string) z klas definiujących wszystkie komponenty mogące generować akcje (Button, AbstractButton, MenuItem, TextField, JTextField, List, JComboBox).

21 ItemListener Interfejs ten pozwala na obługę tylko jednego zdarzenia itemstatechanged, za pomocą metody itemstatechanged(itemevent evt). Zdarzenie to polega na zmianie stanu jakiegoś spisu, pola opcji, czy pola wyboru. Zarejestrowanie obiektu jako zainteresowanego obsługą tego zdarzenia nastepuje za pomocą metody rejestrującej additemlistener(itemlistener)

22 Jbutton akcja import java.awt.borderlayout; import java.awt.event.*; import javax.swing.*; public class button{ public static void main(string[] args) { final JTextArea output; JScrollPane scrollpane; JFrame frame = new JFrame("Button actionlistener"); frame.setdefaultcloseoperation(jframe.exit_on_close); JButton dodaj = new JButton("Ok"); JPanel contentpane = new JPanel(new BorderLayout()); contentpane.add(dodaj, BorderLayout.NORTH); output = new JTextArea(5, 30); scrollpane = new JScrollPane(output); contentpane.add(scrollpane, BorderLayout.CENTER); dodaj.addactionlistener(new ActionListener() { public void actionperformed (ActionEvent e) { String zrodlo = e.getactioncommand(); String s = "Zdarzenie akcji: "+ zrodlo+"\n"; System.out.println("Wciśnięto OK"); output.append(s); ); frame.setsize(450, 260); frame.setvisible(true); frame.setcontentpane(contentpane);

23 public class Menu implements ActionListener, ItemListener { public JMenuBar createmenubar() { JMenuBar menubar = new JmenuBar(); Menu,1 JMenu menu = new JMenu("A Menu"); menubar.add(menu); menuitem = new JMenuItem("Pierwszy"); menuitem.addactionlistener(this); menu.add(menuitem); menu.addseparator(); cbmenuitem = new JCheckBoxMenuItem("A check box menu item"); cbmenuitem.additemlistener(this); menu.add(cbmenuitem); menu.addseparator(); JMenu submenu = new Jmenu("Submenu"); //submenu menuitem = new JmenuItem("Element submenu"); menuitem.addactionlistener(this); submenu.add(menuitem); menu.add(submenu); return menubar; public void actionperformed(actionevent e) { String zrodlo = e.getactioncommand(); System.out.print("Źródlo akcji: "+zrodlo+"\n"); public void itemstatechanged(itemevent e) { // nastepny slajd private static void createandshowgui(){ JFrame frame = new Jframe("Moje menu"); Menu mojemenu = new Menu(); frame.setjmenubar(mojemenu.createmenubar()); //frame nasza ramka

24 Menu,2 (itemstatechanged) public void itemstatechanged(itemevent e) { JMenuItem source = (JMenuItem)(e.getSource()); String s = "Item event detected." + " Event source: " + source.gettext() + " New state: " + ((e.getstatechange() == ItemEvent.SELECTED)? "selected":"unselected"); System.out.println(s);

25 import java.awt.*; import javax.swing.*; public class projekt extends JFrame implements ActionListener { projekt () { Container cp2 = getcontentpane( ); //Returns the contentpane object for this frame. JPanel jpanel = new JPanel(new GridLayout(1,0)); cp2.add(jpanel_0,borderlayout.north); JToolBar toolbar = new JToolBar("Toolbar", JtoolBar.HORIZONTAL); JButton openbutton = new JButton("Open",new ImageIcon("open.gif")); openbutton.addactionlistener(this); toolbar.add(openbutton); jpanel.add(toolbar); public void actionperformed(actionevent e) { System.out.println("Wybrano : " + e.getactioncommand()); String ac = e.getactioncommand(); if(ac.equals("new")) newfile(); else if(ac.equals("open")) openfile(); else if(ac.equals("quit")) System.exit(0); public void openfile() { System.out.println("Akcja dla openfile metody..."); Toolbar

26 TableModelListener import javax.swing.event.*; import javax.swing.table.defaulttablemodel; DefaultTableModel model; JTable table; model = new DefaultTableModel(Dane WIERSZY,Nagłówki KOLUMNY); table = new JTable(model); model.addtablemodellistener( new TableModelListener() { public void tablechanged(tablemodelevent tme) { if (tme.gettype() == TableModelEvent.UPDATE) { System.out.println("Komórkę " + tme.getfirstrow() + ", " + tme.getcolumn() + " zmieniono." + " Nowa wartość komórki " + model.getvalueat(tme.getfirstrow(), tme.getcolumn())); );

27 Dodawanie/odejmowanie wierszy... //dodawanie przycisków do wykonania akcji... dodaj.addactionlistener(new ActionListener() { public void actionperformed (ActionEvent e) { Object[] tmp = { "", "", "", new Date() ; //Inicjuje/definiuje zmienna typu object i wypenia jej tablice tm.addrow(tmp); //dodaje wiersze ); usun.addactionlistener(new ActionListener() { public void actionperformed (ActionEvent e) { tm.removerow(tm.getrowcount() - 1); //odejmuje wiersze );

28 Źródło /ObsZda1/ObsZda1.html

Programowanie zdarzeniowe

Programowanie zdarzeniowe Programowanie zdarzeniowe I. Podstawy obsługi zdarzeń Małgorzata Prolejko ZDA JA16Z03 Plan Pojęcie zdarzenia Klasy i obiekty słuchaczy Rejestracja słuchaczy Obsługa naciśnięcia przycisku Rozpoznawanie

Bardziej szczegółowo

Java - interfejs graficzny

Java - interfejs graficzny Java - interfejs graficzny Pakiet Swing Pakiet Swing przygotował: pawel@kasprowski.pl Czym jest Swing? Rozszerzenie AWT (Abstract Windows Toolkit) do tworzenia GUI (Graphical User Interface) w Javie import

Bardziej szczegółowo

Programowanie graficznych interfejsów użytkownika

Programowanie graficznych interfejsów użytkownika Programowanie obiektowe Programowanie graficznych interfejsów użytkownika Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Programowanie

Bardziej szczegółowo

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

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Wykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy.

Wykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Wykład 4_1 Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Przykład 1 a) Program ProstyAplet2.class uruchomiony jako aplet w przeglądarce (appletviewer)

Bardziej szczegółowo

Kontenery i komponenty graficzne

Kontenery i komponenty graficzne JAVA Kontenery i komponenty graficzne Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Opracował: Andrzej Nowak Kontenery Aplikacja okienkowa składa

Bardziej szczegółowo

Graphic User Interfaces pakiet Swing

Graphic User Interfaces pakiet Swing Graphic User Interfaces pakiet Swing Streszczenie Celem wykładu jest zaprezentowanie podstaw tworzenia graficznych interfejsów przy użyciu pakietu Swing. Czas wykładu 90 minut. Można śmiało stwierdzić,

Bardziej szczegółowo

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

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach Przykład 1 a) Program ProstyAplet2.class uruchomiony jako aplet w przeglądarce

Bardziej szczegółowo

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

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com GUI-Swing Wstęp do tworzenia prostych aplikacji z interfejsem graficznym (GUI) przy pomocy Swing, rysowanie prostych

Bardziej szczegółowo

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

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Interfejs GUI wysokiego poziomu Pojęcie

Bardziej szczegółowo

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

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Abstract Window Toolkit Przekazuje tworzenie i

Bardziej szczegółowo

Aplikacja wielowątkowa prosty komunikator

Aplikacja wielowątkowa prosty komunikator Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host

Bardziej szczegółowo

Aplikacje w Javie wykład 12 Programowanie GUI

Aplikacje w Javie wykład 12 Programowanie GUI Aplikacje w Javie wykład 12 1 Programowanie GUI Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ C.

Bardziej szczegółowo

Programowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1

Programowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1 1 Programowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1 Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/

Bardziej szczegółowo

SWING. dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com

SWING. dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com SWING dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? Przykład aplikacji z GUI Zarządcy układu Obsługa zdarzeń Komponenty GUI Wprowadzenie obiektowy paradygmat do tworzenia

Bardziej szczegółowo

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Tworzenie i obsługa graficznego interfejsu uŝytkownika Tworzenie i obsługa graficznego interfejsu uŝytkownika Programowanie w środowisku rozproszonym. Wykład 3. Aplety aplikacje uruchamiane w środowisku przeglądarki - przykład import java.applet.applet; import

Bardziej szczegółowo

Aplikacja wielow tkowa prosty komunikator

Aplikacja wielow tkowa prosty komunikator Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host

Bardziej szczegółowo

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

SWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe. SWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/ http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,

Bardziej szczegółowo

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

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006 1 Najprostszy program okienkowy 1.1 Kod: JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006 public class okno1 extends Frame public okno1() ); okno1 o = new

Bardziej szczegółowo

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

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/

Bardziej szczegółowo

Informatyka i Ekonometria Programowanie komputerów Ćwiczenia Tworzenie aplikacji wykorzystaniem graficznego interfejsu użytkownika - Swing.

Informatyka i Ekonometria Programowanie komputerów Ćwiczenia Tworzenie aplikacji wykorzystaniem graficznego interfejsu użytkownika - Swing. Kierunek: Informatyka i Ekonometria Przedmiot: Programowanie komputerów Forma zajęć: Ćwiczenia Temat: Tworzenie aplikacji z wykorzystaniem graficznego interfejsu użytkownika - Swing. Biblioteka SWING podstawowa

Bardziej szczegółowo

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing Strona do pobrania tutoriala: http://www.oracle.com/technetwork/java/javase/java-tutorial-downloads-2005894.html

Bardziej szczegółowo

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

Programowanie w Javie Wykład 6 Okienka w Javie (AWT) Programowanie w Javie Wykład 6 Okienka w Javie (AWT) Płock 2014/2015 Wprowadzenie do AWT AWT Abstract Window Toolkit, wykorzystywany do budowy graficznych interfejsów użytkownika w Javie AWT do obsługi

Bardziej szczegółowo

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

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006 Programowanie graficznego interfejsu użytkownika Wykład 8 Maciej Wołoszyn mailto:woloszyn@fatcat.ftj.agh.edu.pl 10 maja 2006 Spis treści 1 JFC/Swing 1 1.1 Prosty przykład.................................

Bardziej szczegółowo

Tworzenie elementów graficznych

Tworzenie elementów graficznych Tworzenie elementów graficznych Elementy graficzne w Javie pozwalające tworzyć Graficzny Interfejs Użytkownika (GUI) możemy podzielić na dwie grupy: AWT (Abstract Window Toolkit) bibliotek klas służąca

Bardziej szczegółowo

1. Zakładanie projektu Katalog typu Java Class Library do przechowywania obiektowego modelu danych projekt należy do warstwy biznesowej

1. Zakładanie projektu Katalog typu Java Class Library do przechowywania obiektowego modelu danych projekt należy do warstwy biznesowej Przekształcanie aplikacji internetowej typu JSF wygenerowanej na podstawie bazy danych do aplikacji typu EE zawierającej dodatkowo klienta typu Enterprise. Zofia Kruczkiewicz 1. Zakładanie projektu Katalog

Bardziej szczegółowo

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

Kurs programowania. Wykład 4. Wojciech Macyna. 23 marca 2016 Wykład 4 23 marca 2016 Graficzny interfejs użytkownika - GUI W Javie możemy skorzystać z dwóch bibliotek do tworzenia graficznych interfejsów: AWT (Abstract Windowing Toolkit) podstawowa biblioteka będaca

Bardziej szczegółowo

Java niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika

Java niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika Java niezbędnik programisty spotkanie nr 12 Graficzny interfejs użytkownika 1 Graphical User Interface (GUI) Abstract Window Toolkit Swing słabo się prezentuje mało obiektowy projekt i implementacja zajęły

Bardziej szczegółowo

Klasy abstrakcyjne. Klasę abstrakcyjną tworzymy przy pomocy modyfikatora abstract

Klasy abstrakcyjne. Klasę abstrakcyjną tworzymy przy pomocy modyfikatora abstract Klasy abstrakcyjne Klasa abstrakcyjna jest to klasa której obiekty nie mogą być tworzone, może być natomiast dziedziczona. Może posiadać konstruktor, może on być jednak wywołany tylko przez klasy pochodne.

Bardziej szczegółowo

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing Strona do pobrania tutoriala: http://www.oracle.com/technetwork/java/javase/java-tutorial-downloads-2005894.html

Bardziej szczegółowo

Aplikacje w Javie wykład 12 Programowanie GUI

Aplikacje w Javie wykład 12 Programowanie GUI Aplikacje w Javie wykład 12 1 Programowanie GUI Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/

Bardziej szczegółowo

Podstawy Języka Java

Podstawy Języka Java Podstawy Języka Java Wprowadzenie do AWT AWT Abstract Window Toolkit, biblioteka wykorzystywana do budowy graficznych interfejsów użytkownika w Javie AWT do obsługi elementów interfejsu użytkownika wykorzystuje

Bardziej szczegółowo

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

Pierwsza ramka. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 10 Pierwsza ramka dr Anna Łazińska, WMiI UŁ Podstawy języka Java https://www.javatpoint.com 1 / 10 Pierwsza ramka - kod package myframe1; import javax.swing.jframe; import javax.swing.jlabel; class MyFrame1

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 12: GUI. Aplety. 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Pakiety graficzne w Javie AWT (Abstract Window Toolkit) Swing Java 1.1 Java 2.0 Java 2D Java 3D Java Media

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do

Bardziej szczegółowo

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

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia

Bardziej szczegółowo

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

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Programowanie zdarzeniowe

Programowanie zdarzeniowe Programowanie zdarzeniowe II. Biblioteka Swing Małgorzata Prolejko ZDA JA16Z03 Plan Struktura Swing Komponenty proste Ramki Kolejność warstw Zarządca układu Panele Komponenty złożone Okna dialogowe i wewnętrzne

Bardziej szczegółowo

Zaawansowane programowanie obiektowe. Wykład 3 część 2

Zaawansowane programowanie obiektowe. Wykład 3 część 2 Zaawansowane programowanie obiektowe Wykład 3 część 2 Środowisko Eclipse Tworzenie projektu File New project Java project Dodanie klasy File New Class Praca w Eclipse Przykład 1 import java.awt.*; public

Bardziej szczegółowo

Programowanie graficznych interfejsów uŝytkownika

Programowanie graficznych interfejsów uŝytkownika Programowanie obiektowe The Java Tutorials http://java.sun.com/docs/books/tutorial/ui/index.html Programowanie graficznych interfejsów uŝytkownika Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki

Bardziej szczegółowo

Iteracyjno-rozwojowy cykl oprogramowania 4

Iteracyjno-rozwojowy cykl oprogramowania 4 Iteracyjno-rozwojowy cykl oprogramowania 4 I. Przykład pierwszy programu z warstwą klienta (interfejs graficzny użytkownika) i warstwą biznesową dostępną za pomocą metod klasy Uchwyt /** * * *

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

Bardziej szczegółowo

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

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

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu

Bardziej szczegółowo

setdefaultcloseoperation(jframe.exit_on_close);//obsługa zamykania aplikacji setvisible(true); } //wyświetlenie okna

setdefaultcloseoperation(jframe.exit_on_close);//obsługa zamykania aplikacji setvisible(true); } //wyświetlenie okna Programowanie wizualne- pakiet Swing 1. Główny obiekt interfejsu uŝytkownika - obiekt klasy JFrame 1.1. Przykład prostej aplikacji Zdefiniowanie klasy dziedziczącej po klasie JFrame z pakietu Swing (lub

Bardziej szczegółowo

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); 1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania

Bardziej szczegółowo

Podstawowe informacje o apletach

Podstawowe informacje o apletach Podstawowe informacje o apletach 1 Co to są aplety? Aplety (ang. applets) są to programy napisane w Javie i uruchamiane w przeglądarce WWW po stronie klienta. Posiadają następujące cechy: wymagają obecności

Bardziej szczegółowo

1 Atrybuty i metody klasowe

1 Atrybuty i metody klasowe 1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich

Bardziej szczegółowo

Programowanie w języku Java WYKŁAD

Programowanie w języku Java WYKŁAD Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 05.05.2014 WYKŁAD 11 GUI w Swing cz. 1 Wykład

Bardziej szczegółowo

Applety Java. Applety są przykładem kodu Java wykonywanego po stronie klienta, ale bez ujawnionej (jak w przypadku skryptu) wersji źródłowej

Applety Java. Applety są przykładem kodu Java wykonywanego po stronie klienta, ale bez ujawnionej (jak w przypadku skryptu) wersji źródłowej Applety Java Są to komponenty stron WWW o ukrytym kodzie Applety są pisane w zwykłej Javie i dlatego kompilowane do pliku(ów) *.class, a nie interpretowane jak skrypty w JavaScript Aby przeglądarka odtwarzała

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

SWING ZAGADNIENIA: wprowadzenie, kontenery i komponenty, LayoutManager, komponenty tekstowe. inne przydatne komponenty.

SWING ZAGADNIENIA: wprowadzenie, kontenery i komponenty, LayoutManager, komponenty tekstowe. inne przydatne komponenty. SWING ZAGADNIENIA: wprowadzenie, kontenery i komponenty, LayoutManager, komponenty tekstowe. inne przydatne komponenty. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/ http://th-www.if.uj.edu.pl/zfs/ciesla/

Bardziej szczegółowo

Języki i metody programowania Java Obsługa zdarzeń - przykłady

Języki i metody programowania Java Obsługa zdarzeń - przykłady Języki i metody programowania Java Obsługa zdarzeń - przykłady wg https://docs.oracle.com/javase/tutorial/uiswing/components/ind ex.html Autor Dr inż. Zofia Kruczkiewicz Rodzaje słuchaczy zdarzeń Wydarzenia

Bardziej szczegółowo

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

PWŚG Ćwiczenia 13. Ukończoną pracę należy przesłać na adres   lub PWŚG Ćwiczenia 13 Ukończoną pracę należy przesłać na adres email: sara.m.jurczyk@gmail.com lub sarajurczyk@kul.lublin.pl Zadanie. Stwórz aplikację stawiającą stemple w postaci figur geometrycznych: koło,

Bardziej szczegółowo

Jakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97,

Jakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97, 1 Jakarta POI Jakarta POI (http://jakarta.apache.org/poi/index.html) jest zbiorem narzędzi umożliwiającym prace z dokumentami zapisanymi w formatach wspieranych przez Microsoft. W skład POI wchodzą następujące

Bardziej szczegółowo

Przykładowe roz wiązanie:

Przykładowe roz wiązanie: Napisz program (JApplet), który zawiera pole tekstowe (JTextField) oraz przycisk (JButton). Każde wciśnięcie przycisku wydłuża napis w polu tekstowym o pewien znak (indeks). Wciśnięcia przycisku obsługiwane

Bardziej szczegółowo

Scenariusz Lekcji. Część organizacyjna:

Scenariusz Lekcji. Część organizacyjna: Scenariusz Lekcji Część organizacyjna: Rok szkolny: 2014/2015 Data: 03.III.2015r Imię i nazwisko nauczyciela: Magdalena Ślusarczyk Przedmiot: programowanie strukturalne i obiektowe Klasa: 4c grupa 2 Liczba

Bardziej szczegółowo

Programowanie w języku Java

Programowanie w języku Java Programowanie w języku Java Wykład 9: JFC/Swing projektowanie GUI Widok komponentów Java (Metal) MS Windows OSF/Motif GTK+ Programowanie w języku Java 2 1 Komponenty (1) Kontenery główne: JApplet JDialog

Bardziej szczegółowo

Programowanie zdarzeniowe

Programowanie zdarzeniowe Programowanie zdarzeniowe III. Zaawansowana obsługa zdarzeń Małgorzata Prolejko ZDA JA16Z03 Plan Hierarchia zdarzeń Typy zdarzeń niskiego poziomu Zdarzenia okna Obsługa kliknięcia myszy Adaptery Zdarzenia

Bardziej szczegółowo

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

Bardziej szczegółowo

Interfejsy i klasy wewnętrzne

Interfejsy i klasy wewnętrzne Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw

Bardziej szczegółowo

Bartosz Jachnik - Kino

Bartosz Jachnik - Kino Bartosz Jachnik - Kino I. Opis bazy Prezentowana baza danych stworzona została na potrzeby prowadzenia kina. Zawiera ona 8 tabel, które opisują filmy grane w danym okresie w kinie, wraz ze szczegółowym

Bardziej szczegółowo

Programowanie Multimediów. Programowanie Multimediów JAVA. programowanie GUI. (AWT i Swing) [1]

Programowanie Multimediów. Programowanie Multimediów JAVA. programowanie GUI. (AWT i Swing) [1] [1] JAVA programowanie GUI (AWT i Swing) [2] Wprowadzenie Pierwotnym GUI dla Javy był AWT (Abstract Window Toolkit) wg legendy powstał w miesiąc... Swing dodano dopiero w wersji Javy 1.2 (przełom 1997/98)

Bardziej szczegółowo

Aplikacje w Javie- wykład 11 Wątki-podstawy

Aplikacje w Javie- wykład 11 Wątki-podstawy 1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/

Bardziej szczegółowo

GUI - projektowanie interfejsów cz. II

GUI - projektowanie interfejsów cz. II Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny w Katowicach Wykład 3 Elementy Swing wszystkie elementy graficzne (przyciski, kontrolki) rysowane są od zera z poziomu Javy; ten sam wygląd i zachowanie

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 5, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 5, część 1 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do grafiki w Javie 2. Budowa GUI: komponenty, kontenery i układanie komponentów 3. Budowa GUI: obsługa

Bardziej szczegółowo

Java Foundation Clases. Tworzenie graficznych interfejsów użytkownika (GUI) w Javie

Java Foundation Clases. Tworzenie graficznych interfejsów użytkownika (GUI) w Javie Java Foundation Clases Tworzenie graficznych interfejsów użytkownika (GUI) w Javie Jacek Starzyński, IETiSIP PW, 2006 Tematyka: Co to jest JFC? Swing zadania i struktura Szkielet programu Model zdarzeń

Bardziej szczegółowo

Java SE Laboratorium nr 5. Temat: Obsługa zdarzeń

Java SE Laboratorium nr 5. Temat: Obsługa zdarzeń Java SE Laboratorium nr 5 Temat: Obsługa zdarzeń 1 Obsługa zdarzeń 1. Definicja i idea Każda z aplikacji zmienia swój stan (reaguje) pod wpływem zdarzeń. Mogą to być zdarzenia generowane przez urządzenia

Bardziej szczegółowo

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

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel, dr hab. Bogdan Kwolek v1.01 2010 Grafika i komunikacja człowiek komputer Laboratorium Część 1: Wstęp do grafiki ZAGADNIENIA

Bardziej szczegółowo

LABORATORIUM 7 Cel: 1_1

LABORATORIUM 7 Cel: 1_1 LABORATORIUM 7 Cel: Budowa klas z wykorzystaniem dziedziczenia oraz implementowania interfejsów. Wprowadzenie do trybu graficznego -cd. Animacje obiektów w trybie graficznym obsługa zdarzeń od klawiatury

Bardziej szczegółowo

Podstawy Swing. Tomasz Borzyszkowski

Podstawy Swing. Tomasz Borzyszkowski 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

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

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

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

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

Połączenia między bazami danych i programem w języku Java część 2 Połączenia między bazami danych i programem w języku Java część 2 import java.sql.*; import javax.swing.*; import java.util.*; import javax.swing.*; class Okno extends JFrame JLabel elista= new JLabel

Bardziej szczegółowo

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1 Dr inż. Zofia Kruczkiewicz Etap 1 - Tworzenie apletu 1. Wybierz z menu File\ New Project. Na formularzu New Project wybierz w oknie Categories

Bardziej szczegółowo

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

Języki i metody programowania Java INF302W Wykład 2 (część 1) Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja

Bardziej szczegółowo

Projektowanie aplikacji internetowych laboratorium

Projektowanie aplikacji internetowych laboratorium Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji

Bardziej szczegółowo

JavaFX. Zaawansowane technologie Javy 2019

JavaFX. Zaawansowane technologie Javy 2019 JavaFX Zaawansowane technologie Javy 2019 Historia postania JavaFX Początkowym pakietem do tworzenia aplikacji GUI w Javie był pakiet AWT. Niedługo po wprowadzeniu został on zastąpiony pakietem Swing,

Bardziej szczegółowo

Comparable<Klasa_uzytkownika>

Comparable<Klasa_uzytkownika> Przechowywanie obiektów w pamięci programu Część II (obiekty typów definiowanych przez użytkownika) Obiekty typów definiowanych przez użytkownika muszą być przystosowane do przechowywania w pojemnikach

Bardziej szczegółowo

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Interfejsy w Java. Przetwarzanie równoległe. Wątki. Informatyka I Interfejsy w Java. Przetwarzanie równoległe. Wątki. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Interfejsy w Java Pojęcie interfejsu w programowaniu Deklaracja

Bardziej szczegółowo

Obsługa zdarzeń. Wykład 4

Obsługa zdarzeń. Wykład 4 Obsługa zdarzeń Wykład 4 Zdarzenia Zdarzenie niskiego poziomu to wciśnięcie klawisza klawiatury lub kliknięcie przycisku myszki. Większość zdarzeń jest generowana przez: mysz klawiaturę elementy interfejsu

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

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

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1) Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

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

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

Bardziej szczegółowo

Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java

Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java Programowanie komputerów Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Graficzny interfejs użytkownika GUI (Graphical User Interface),

Bardziej szczegółowo

Programowanie Obiektowe Java

Programowanie Obiektowe Java Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Modyfikatory dostępu: (public, private, ) inne: (static, final, abstract, )

Bardziej szczegółowo

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4 Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.

Bardziej szczegółowo

Wykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4

Wykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4 Wykład 4_2 część druga Iteracyjno-rozwojowy cykl oprogramowania 4 I. Przykład pierwszy programu z warstwą klienta (interfejs graficzny użytkownika) i warstwą biznesową dostępną za pomocą metod klasy

Bardziej szczegółowo

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

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

Bardziej szczegółowo

Kontynuacja wprowadzenia do SWING. Przykłady implementacji wybranych komponentów

Kontynuacja wprowadzenia do SWING. Przykłady implementacji wybranych komponentów Kontynuacja wprowadzenia do SWING Przykłady implementacji wybranych komponentów JTextFieldDemo.java JTextField pole2 = new JTextField( wpisz cos i wcisnij Enter"); JTextField pole2 = new JTextField(20);

Bardziej szczegółowo

Programowanie w języku JAVA. Wykład IV Swing - GUI

Programowanie w języku JAVA. Wykład IV Swing - GUI Programowanie w języku JAVA Wykład IV Swing - GUI Architektura 2 JFC (Java Foundation Classes) zbiór klas do budowy interfejsu graficznego użytkownika i interaktywności aplikacji Javy Komponenty Swing

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Graficzny Interfejs Użytkownika mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Spis treści Graficzny Interfejs

Bardziej szczegółowo

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

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub PWSG Ćwiczenia 12 Wszystkie ukończone zadania należy wysłać na adres: sara.m.jurczyk@gmail.com lub sarajurczyk@kul.lublin.pl Zadanie 1: Różnica między zwykłymi polami/metodami, a polami/metodami static

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo