SWING. dr Jarosław Skaruz

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transkrypt

1 SWING dr Jarosław Skaruz

2 O czym będzie? Przykład aplikacji z GUI Zarządcy układu Obsługa zdarzeń Komponenty GUI

3 Wprowadzenie obiektowy paradygmat do tworzenia graficznego interfejsu użytkownika (ang. Graphical User Interface, GUI) biblioteka gotowych komponentów: przyciski, pola tekstowe, panele, okienka dialogowe generatory kodu pozwalające na konstruowanie GUI w sposób graficzny metodą przeciągnij i upuść framework Java Foundation Classes (JFC) oraz jego biblioteki komponentów graficznych Swing łatwość opanowania biblioteki Swing, pomimo istnienia wielu klas tej biblioteki

4 Przykład aplikacji z GUI import javax.swing.*; public class WitajSwiecie { private static void utworzgui() { //tworzenie nowego okna JFrame frame = new JFrame("Okno WitajŚwiecie"); frame.setdefaultcloseoperation(jframe.exit_on_close); //dodawanie etykiety z przywitaniem JLabel label = new JLabel("Witaj świecie!"); frame.add(label); //ustalanie wymiarów i wyświetlanie okna //frame.pack(); frame.setsize(300,150); frame.setvisible(true);

5 Przykład aplikacji z GUI public static void main(string[] args) { //aby uniknąć zakleszczeń, tworzenie GUI zawsze zlecamy dla wątku obsługi zdarzeń SwingUtilities.invokeLater(new Runnable() { public void run() { ); utwórzgui();

6 Kontenery najwyższego poziomu JFrame frame = new JFrame("Okno WitajŚwiecie"); frame.setdefaultcloseoperation(jframe.exit_on_close); Frame jest kontenerem komponentów graficznych najwyższego poziomu i reprezentuje okno główne aplikacji. Kontener najwyższego poziomu zawiera obszar, w którym będą rysowane pozostałe "zwykłe" komponenty (np. przyciski) oraz umożliwia obsługę zachodzących zdarzeń (np. kliknięcie przycisku) Dwa inne rodzaje kontenerów najwyższego poziomu: Jdialog (okno dialogowe), oraz JApplet, który działa w oknie przeglądarki WWW. Wszystkie pozostałe komponenty Swing rozszerzają klasę JComponent i muszą być pośrednio lub bezpośrednio umieszczone w kontenerze najwyższego poziomu Wywołanie metody setdefaultcloseoperation() jest niezbędne, aby program kończył się kiedy użytkownik spróbuje zamknąć okienko. Bez niej takie próby nie przyniosą żadnego efektu.

7 Dodawanie elementów do kontenerów JLabel label = new JLabel("Witaj świecie!"); frame.add(label); W przykładzie w oknie głównym aplikacji umieszczana jest etykieta z tekstem powitania. Każdy komponent można umieścić w kontenerze tylko jednokrotnie. Ustalanie rozmiarów i wyświetlanie okna // frame.pack(); frame.setsize(300,150); frame.setvisible(true); Dla okna trzeba utalić odpowiedni rozmiar i wyświetlić go na ekranie Metoda pack() ustala rozmiar okna tak, aby mieściły się w nim wszystkie widoczne komponenty Rozmiar okna można również określić samemu przy pomocy metody setsize(int szerokość, int wysokość) Aby okno było widoczne na ekranie, trzeba wywołać jego metodę setvisible() z parametrem true

8 Wątek koordynujący zdarzenia Klasy Swing nie są zabezpieczone na wypadek posługiwania się nimi przez kilka wątków 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. Większość operacji na komponentach GUI 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() SwingUtilities.invokeLater(new Runnable() { public void run() { utwórzgui(); ); Jako parametr tej metody przekazujemy obiekt anonimowej podklasy Runnable. Jego metoda run() wykonuje metodę utwórzgui(). Wątek koordynujący przekaże w wolnej chwili sterowanie do tego obiektu Runnable.

9 Układ komponentów Pozycje komponentów na formularzu oraz ich rozmiar można określić bezwzględnie, ale zazwyczaj jest to niewskazane. W Swingu można bardzo łatwo przełączać wygląd i zachowanie (ang. look and feel) komponentów GUI Łatwo jest napisać program dopasowujący się do domyślnego wyglądu i zachowania platformy, na której jest uruchamiany Zmiana układu i zachowania zazwyczaj wpływa na rozmiar komponentów. Zarządca układu to obiekt implementujący interfejs LayoutManager i decydujący o rozmiarze i pozycji komponentów w kontenerze. Mimo, że komponenty mogą podpowiadać, jaki powinny mieć rozmiar i pozycję, ostateczna decyzja należy do zarządcy układu

10 BorderLayout Główne kontenery (JApplet, JDialog i JFrame) domyślnie używają BorderLayout Można rozmieścić do pięciu innych komponentów, w tym inne kontenery, np. panele JPanel Każdy komponent umieszczany jest w jednym z pięciu rejonów: na dole, na górze, po lewo, po prawo i po środku Komponenty dodawane do kontenera bez wskazania rejonu domyślnie dodawane są po środku Dodanie nowego komponentu do rejonu już posiadającego zawartość spowoduje jej podmianę W kolejnym przykładzie okno jest wypełniane pięcioma przyciskami

11 BorderLayout import java.awt.*; import javax.swing.*; public class BorderLayoutTest extends JFrame { BorderLayoutTest() { super("okno BorderLayoutTest"); setdefaultcloseoperation(jframe.exit_on_close); //Główne kontenery (JApplet, JDialog i JFrame) domyślnie używają BorderLayout. //Natomiast obiekty JPanel domyślnie używają FlowLayout. add(new JButton("CENTER")); //domyślna pozycja to BorderLayout.CENTER add(borderlayout.north, new JButton("NORTH")); add(borderlayout.south, new JButton("SOUTH")); add(borderlayout.east, new JButton("EAST")); add(borderlayout.west, new JButton("WEST")); setsize(300,150); setvisible(true);

12 BorderLayout public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { new BorderLayoutTest(); );

13 FlowLayout Zmianę zarządcy układu wykonuje się przy pomocy metody setlayout(layoutmanager). W przykładzie FlowLayout układa komponenty od lewej do prawej w kolejnych wierszach import java.awt.*; import javax.swing.*; public class FlowLayoutTest extends JFrame { FlowLayoutTest() { super("okno FlowLayoutTest"); setdefaultcloseoperation(jframe.exit_on_close); setlayout(new FlowLayout()); add(new JButton("Psk.")); add(new JButton("Przycisk")); add(new JButton("Długi przycisk")); add(new JButton("B. długi przycisk")); add(new JButton("Bardzo długi przycisk")); add(new JButton("Bardzo bardzo długi przycisk")); setsize(300,150); setvisible(true);

14 FlowLayout public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { new FlowLayoutTest(); ); FlowLayout zezwala komponentom przyjąć preferowany przez nie rozmiar, nawet jeżeli wszystkie komponenty nie mieszczą się w widocznej części kontenera.

15 GridLayout GridLayout układa komponenty w komórkach siatki, której rozmiar określamy przy pomocy parametrów konstruktora Komponenty zajmują kolejne komórki zgodnie z kolejnością dodawania W kolejnym przykładzie do siatki o dwóch kolumnach i trzech wierszach dodawanych jest pięć przycisków Mimo, iż ostatni przycisk jest bardzo długi, a komórka na prawo od niego jest wolna, będzie zajmował dokładnie tyle samo miejsca co pozostałe przyciski.

16 GridLayout import java.awt.*; import javax.swing.*; public class GridLayoutTest extends JFrame { GridLayoutTest() { super("okno GridLayoutTest"); setdefaultcloseoperation(jframe.exit_on_close); setlayout(new GridLayout(3,2)); add(new JButton("P1")); add(new JButton("P2")); add(new JButton("P3")); add(new JButton("P4")); add(new JButton("Bardzo długi przycisk")); setsize(300,150); setvisible(true);

17 GridLayout public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { new GridLayoutTest(); );

18 Zagnieżdżanie kontenerów Omówione dotychczas rodzaje zarządców układu dają jedynie podstawowe możliwości Trochę więcej można osiągnąć umieszczając jako jeden z komponentów lekki kontener (np. JPanel), który sam będzie zawierał komponenty rozmieszczane przez jakiegoś zarządcę układu W przypadku JPanel domyślnym zarządcą nie jest BorderLayout, ale FlowLayout

19 Pozostałe rodzaje zarządców układu BoxLayout komponenty w jednym wierszu lub kolumnie, zagnieżdżając w sobie kontenery używające BoxLayout można uzyskać bardzo skomplikowane układy; w odróżnieniu od GridLayout, jeżeli jest to możliwe, komponenty będą miały preferowane przez nie rozmiary GridBagLayout rozbudowany zarządca dający bardzo duże możliwości zapanowania nad rozmieszczeniem komponentów; doskonale nadaje się używania przez graficzne narzędzia przeznaczone do budowanie GUI metodą przeciągnij i upuść; ze względu na swoją złożoność rzadko używany przez ludzi, SpringLayout rozmieszczenie komponentów jest kontrolowane przez definicje więzów, które wyznaczają pionową lub poziomą odległość między krawędziami dwóch komponentów; poszczególne więzy są reprezentowane przez obiekty klasy Spring i można o nich myśleć jak o sprężynach z minimalną, optymalną i maksymalną długością CardLayout każdy komponent dodany do kontenera używającego CardLayout traktowany jest jak kartka; w danej chwili wyświetlana jest tylko jedna kartka (początkowo ta dodana jako pierwsza); CardLayout udostępnia operacje pozwalające przełączać widoczną kartkę: first(), last(), next() i previous().

20 Obsługa zdarzeń Do komponentów GUI można dołączać kod, który będzie wykonywany w chwili zajścia jednego z dotyczących ich zdarzeń Przykładowo przycisk może reagować na kliknięcie lub najechanie myszką, a pole tekstowe na wprowadzenie tekstu Kodu obsługi zdarzenia nie umieszcza się w klasach reprezentujących komponenty, bo stałyby się przez to sprzężone z klasami programu. Zamiast tego komponentom można przekazać do zapamiętania obiekty implementujące specjalny interfejs. Gdy zdarzenie zachodzi komponent wywołuje odpowiednie metody zapamiętanych obiektów. Przykładowo przyciski posiadają metodę addactionlistener(actionlistener) przy pomocy której można im przekazywać do zapamiętania obiekty implementujące interfejsactionlistener. W reakcji na kliknięcie przyciski wywołują metodę actionperformed(actionevent) na wszystkich aktualnie pamiętanych obiektach. Metoda removeactionlistener(actionlistener) pozwala usunąć jeden z uprzednio zapamiętanych obiektów. Takie rozwiązanie charakteryzuje się bardzo dużą elastycznością i jest znane jako wzorzec Obserwator (ang. Observer), Wydawca-Prenumerator (ang. Publish-Subscribe) oraz Delegowanie obsługi zdarzeń (ang. Delegation Event Model)

21 Obsługa zdarzeń - przykład import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ZliczanieKliknięć extends JFrame { Integer licznikkliknięć = 0; JLabel etykieta; ZliczanieKliknięć() { super("okno ZliczanieKliknięć"); setdefaultcloseoperation(jframe.exit_on_close); JPanel panel = new JPanel(); panel.setlayout(new GridLayout(3, 0)); JButton przycisk = new JButton("Kliknij"); przycisk.addactionlistener(new ZwiększanieLicznika()); panel.add(przycisk); etykieta = new JLabel("Jeszcze nie kliknięto ani razu"); panel.add(new JPanel()); //pusty panel zapewnia odstęp panel.add(etykieta); //puste obramowanie odsuwa komponenty od krawędzi panel.setborder(borderfactory.createemptyborder(30,60,10,60)); add(panel); setsize(300,150); setvisible(true);

22 Obsługa zdarzeń przykład c.d. class ZwiększanieLicznika implements ActionListener { public void actionperformed(actionevent e) { //obiekt klasy wewnętrznej ma dostęp do składowych obiektu klasy otaczającej licznikkliknięć++; etykieta.settext("dotychczas kliknąłeś " + licznikkliknięć + (licznikkliknięć == 1? " raz" : " razy")); public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { new ZliczanieKliknięć(); );

23 Pola tekstowe Poniższy przykład pokazuje obsługę ActionEvent dla pola tekstowego JTextField. Zdarzenie zachodzi, gdy wartość wprowadzona w polu zostaje zaakceptowana enterem. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Dodawanie extends JFrame { JFrame okno = this; JTextField wynik = new JTextField(9); JTextField pole1 = new JTextField(9); JTextField pole2 = new JTextField(9); //jeden egzemplarz będzie dzielony przez oba pola ActionListener sumowanie = new ActionListener() { public void actionperformed(actionevent ev) { try { Integer w = Integer.parseInt(pole1.getText())+ Integer.parseInt(pole2.getText()); wynik.settext(w.tostring()); catch (NumberFormatException ex) { wynik.settext("błąd"); ;

24 Przykład aplikacji z GUI Dodawanie() { super("okno ZliczanieKliknięć"); setdefaultcloseoperation(jframe.exit_on_close); JPanel panel = new JPanel(); panel.setlayout(new FlowLayout()); pole1.addactionlistener(sumowanie); panel.add(pole1); panel.add(new JLabel("+")); panel.add(pole2); pole2.addactionlistener(sumowanie); panel.add(new JLabel("=")); wynik.seteditable(false); panel.add(wynik); //puste obramowanie odsuwa komponenty od krawędzi panel.setborder(borderfactory.createemptyborder(30,30,30,30)); add(panel); setsize(300,150); setvisible(true);

25 Przykład aplikacji z GUI public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { new Dodawanie(); );

26 Najważniejsze rodzaje zdarzeń Komponenty GUI mogą generować wiele różnych zdarzeń. W każdym przypadku ich obsługa zachodzi w sposób analogiczny a związane klasy, interfejsy i metody przestrzegają przejrzystych konwencji nazewniczych Do reprezentowania każdego rodzaju zdarzenia istnieje odpowiednia klasa. Jej nazwa przestrzega schematu XxxEvent, np. kliknięcie przycisku reprezentują obiekty klasy ActionEvent Obiekty zawierające kod obsługi muszą implementować odpowiedni interfejs. Nazwy interfejsów przestrzegają schematu XxxListener, gdzie Xxx jest takie samo jak w przypadku klasy reprezentującej zdarzenie, np. ActionListener. Wyjątkiem jest tu zdarzenie MouseEvent, dla którego istnieją dwa interfejsy MouseListener i MouseMotionListener. Rejestrowanie i wyrejestrowywanie obiektów, które chcą być informowane o zdarzeniach generowanych przez dany komponent odbywa się przy pomocy metod addxxxlistenet(xxxlistener) oraz removexxxlistener(xxxlistener) Interfejs ActionListener zawiera tylko jedną metodę actionperformed (ActionEvent), która jest wywoływana przez komponent na wszystkich w danej chwili zarejestrowanych obiektach

27 Najważniejsze rodzaje zdarzeń ActionListener actionperformed(actionevent e) - dotyczy wielu komponentów, zachodzi np. gdy użytkownik klika przycisk, zatwierdza enterem tekst wpisany do pola tekstowego itp. MouseListener mouseclicked(mouseevent e), mouseentered(mouseevent e) mouseexited(mouseevent e), mousepressed(mouseevent e), mousereleased(mouseevent e) Zdarzenia dotyczą operacji wykonywanych myszką na komponencie jak: wciśnięcie i puszczenie przycisku, kliknięcie, najechanie i opuszczenie. Do śledzenia ruchów kursora myszki i ruchów myszki podczas przytrzymywania przycisku służy MouseMotionListener. MouseMotionListener mousedragged(mouseevent e), mousemoved(mouseevent e) Zdarzenia dotyczą ruchów kursora myszy nad komponentem oraz ruchów kursora myszy podczas przytrzymywania przycisku. KeyListener keypressed(keyevent e), keyreleased(keyevent e), keytyped(keyevent e) Zdarzenia informujące o wciśnięciu, puszczeniu i kliknięciu klawisza na klawiaturze. Klasa KeyAdapter dostarcza puste implementacje wszystkich metod z tego interfejsu. TextListener textvaluechanged(textevent e) - dotyczy komponentów rozszerzających JTextComponent (np. JTextArea i JTextField). Zachodzi gdy zmienił się tekst.

28 Wygląd i zachowanie Swing daje możliwość łatwego zmieniania wyglądu i zachowania (ang. look and feel) komponentów GUI Zazwyczaj nie korzysta przy tym z udogodnień systemu operacyjnego, ale symuluje wygląd i zachowanie od zera (komponenty są rysowane przez Javę, a nie system operacyjny) Dzięki temu ten sam wygląd i zachowanie można stosować na wszystkich platformach, dla których jest dostępna wersja JRE Niestety takie rozwiązanie ma też wady. W większości wypadków symulacja wyglądu i zachowania typowego dla poszczególnych systemów operacyjnych jest daleka od oryginału Aplikacje w Swingu nie korzystają z efektów graficznych dostępnych w systemie operacyjnych. Na ich wygląd nie wpływają również ustawienia systemu operacyjnego dokonane przez użytkownika. Nie jest to jednak regułą. Sama konstrukcja biblioteki nie wyklucza korzystania z rozwiązań systemowych. Dystrybucja Javy dla systemu Mac OS oferuje wygląd i zachowanie ściśle zintegrowane z systemem operacyjnym. Podobne rozwiązanie jest opracowywane dla systemu Windows.

29 Programowa zmiana wyglądu i zachowania Aby zmienić wygląd GUI wystarczy użyć metody UIManager.setLookAndFeel (String) i przekazać jej jako parametr nazwę podklasy LookAndFeel reprezentującej pożądany wygląd i zachowanie Aby dokonać przełączenia w już działającej aplikacji należy dodatkowo wywołać metodę SwingUtilities.updateComponentTreeUI(Component) i przekazać jej jako parametr kontener główny. Standardowo dostępne podklasy LookAndFeel, to: javax.swing.plaf.metal.metallookandfeel domyślne międzyplatformowe wygląd i zachowanie Javy; można go używać na każdej platformie com.sun.java.swing.plaf.windows.windowslookandfeel wygląd i zachowanie symulujące te znane z systemu Windows com.sun.java.swing.plaf.motif.motiflookandfeel wygląd i zachowanie CDE/Motif; domyślne na systemach firmy SUN com.sun.java.swing.plaf.gtk.gtklookandfeel wygląd i zachowanie GTK

30 Programowa zmiana wyglądu i zachowania import java.awt.*; import java.awt.event.*; import javax.swing.*; class ZmianaWygląduIZachowania implements ActionListener { JFrame ramka; String nazwa; ZmianaWygląduIZachowania(JFrame ramka, String nazwa) { this.ramka = ramka; this.nazwa = nazwa; public void actionperformed(actionevent e) { try { UIManager.setLookAndFeel(nazwa); SwingUtilities.updateComponentTreeUI(ramka); catch (Exception ex) { System.err.println("Nie udała się zmiana na wygląd: "+nazwa);

31 Programowa zmiana wyglądu i zachowania public class WygladIZachowanie extends JFrame { JButton międzyplatformowy, systemu, gtk, windows, motif, metal; WygladIZachowanie() { super("okno WyglądIZachowanie"); setdefaultcloseoperation(jframe.exit_on_close); JPanel panel = new JPanel(new GridLayout(0, 1)); panel.add(new JLabel("Wybierz wygląd i zachowanie:")); międzyplatformowy = new JButton("Międzyplatformowy"); międzyplatformowy.addactionlistener( new ZmianaWygląduIZachowania(this, UIManager.getCrossPlatformLookAndFeelClassName())); panel.add(międzyplatformowy); systemu = new JButton("Systemu operacyjnego"); systemu.addactionlistener( new ZmianaWygląduIZachowania(this, UIManager.getSystemLookAndFeelClassName())); panel.add(systemu); metal = new JButton("Metal"); metal.addactionlistener( new ZmianaWygląduIZachowania(this, "javax.swing.plaf.metal.metallookandfeel")); panel.add(metal);

32 Programowa zmiana wyglądu i zachowania windows = new JButton("Windows"); windows.settooltiptext("obecnie dostępny jedynie w systemie Windows!"); windows.addactionlistener( new ZmianaWygląduIZachowania(this, "com.sun.java.swing.plaf.windows.windowslookandfeel")); panel.add(windows); motif = new JButton("Motif"); motif.addactionlistener( new ZmianaWygląduIZachowania(this, "com.sun.java.swing.plaf.motif.motiflookandfeel")); panel.add(motif); gtk = new JButton("GTK"); gtk.settooltiptext("niedostępny w niektórych JRE!"); gtk.addactionlistener( new ZmianaWygląduIZachowania(this, "com.sun.java.swing.plaf.gtk.gtklookandfeel")); panel.add(gtk); panel.setborder(borderfactory.createemptyborder(20,20,20,20)); add(panel); setsize(260,250); setvisible(true);

33 Przykład aplikacji z GUI public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { new WygladIZachowanie(); );

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

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

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 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

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

Java biblioteka Swing

Java biblioteka Swing Java biblioteka Swing Podstawowe klasy Klasa JComponent Klasa JFrame Klasa JFrame Klasa bazowa dla okien Ważne właściwości: settitle ( ) setdefaultcloseoperation ( ) setsize ( ), setlocation ( ) setlayout

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

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

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 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

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 APLIKACJI MULTIMEDIALNYCH

PROGRAMOWANIE APLIKACJI MULTIMEDIALNYCH PROGRAMOWANIE APLIKACJI MULTIMEDIALNYCH JĘZYK JAVA wykład 1 GUI GRAFICZNY INTERFEJS UŻYTKOWNIKA Prowadzący: Tomasz Kowalski Rozwój GUI w Java 2 Biblioteki GUI (Graphical User Interface) w Java 1 miały

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

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

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

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

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

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

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

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

Wykład 12: Obsługa Zdarzeń

Wykład 12: Obsługa Zdarzeń Wykład 12: Obsługa Zdarzeń Zdarzenia Aplety są sterowane zdarzeniami. Większość zdarzeń jest generowana przez: mysz klawiaturę elementy interfejsu graficznego Obsługa zdarzeń jest zawarta w pakiecie java.awt.event.

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

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

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

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

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Swing Przygotował: Jacek Sroka 2 GUI w Javie Abstract Window Toolkit (AWT) podstawowy zbiór komponentów opartych na zarządcy okien wspólny mianownik funkcjonalności

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

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

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

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

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

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

Język JAVA podstawy. Wykład 5, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 5, część 3 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 zdarzeń

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie 1. Język JAVA 1. Pierwszy program Napisać program, który: 1. wypisuje na ekran dowolny tekst. 2. Wypisuje argumenty podane w linii poleceń. 2. Kalkulator 1. Program wypisuje sumę liczb podanych jako parametr.

Bardziej szczegółowo

Komputery I (2) Panel sterowania:

Komputery I (2) Panel sterowania: Komputery I (2) Paweł Jamer Panel sterowania: Podstawowym miejscem z którego zarządzamy ustawieniami systemu Windows jest panel sterowania. Znaleźć tam możemy wszelkiego rodzaju narzędzia umożliwiające

Bardziej szczegółowo

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

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 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 2. Po wybraniu szablonu ukaŝe się nam ekran jak poniŝej 3. Następnie

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa

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

Bezpieczne uruchamianie apletów wg

Bezpieczne uruchamianie apletów wg Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,

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

Padlet wirtualna tablica lub papier w Internecie

Padlet wirtualna tablica lub papier w Internecie Padlet wirtualna tablica lub papier w Internecie Umiejętność gromadzenia, a potem przetwarzania, wykorzystania i zastosowania informacji w celu rozwiązania jakiegoś problemu, jest uważana za jedną z kluczowych,

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

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Załącznik nr 1 Specyfikacja przedmiotu zamówienia Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Słowniczek pojęć Badanie

Bardziej szczegółowo

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Temat: Organizacja skoroszytów i arkuszy

Temat: Organizacja skoroszytów i arkuszy Temat: Organizacja skoroszytów i arkuszy Podstawowe informacje o skoroszycie Excel jest najczęściej wykorzystywany do tworzenia skoroszytów. Skoroszyt jest zbiorem informacji, które są przechowywane w

Bardziej szczegółowo

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

Program V-SIM tworzenie plików video z przebiegu symulacji

Program V-SIM tworzenie plików video z przebiegu symulacji Program V-SIM tworzenie plików video z przebiegu symulacji 1. Wprowadzenie Coraz częściej zdarza się, że zleceniodawca opinii prosi o dołączenie do opracowania pliku/ów Video z zarejestrowanym przebiegiem

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

Dodawanie grafiki i obiektów

Dodawanie grafiki i obiektów Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,

Bardziej szczegółowo

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1 Tworzenie okna dialogowego w edytorze raportu SigmaNEST część 1 Edytor raportu SigmaNEST to wszechstronne narzędzie umożliwiające zarówno dostosowanie każdego raportu pod specyficzne oczekiwania klienta,

Bardziej szczegółowo

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Projektowanie obiektowe. Roman Simiński  Wzorce projektowe Wybrane wzorce strukturalne Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec

Bardziej szczegółowo

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

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

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2 z wykorzystaniem języka Java ME ćwiczenia 2 Wykorzystanie plików graficznych w MIDlet ach utworzenie obiektu klasy Image (statyczna metoda createimage()) utworzenie obiektu klasy ImageItem dodanie utworzonego

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2. Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo

Bardziej szczegółowo

Techniki wstawiania tabel

Techniki wstawiania tabel Tabele w Wordzie Tabela w Wordzie to uporządkowany układ komórek w postaci wierszy i kolumn, w które może być wpisywany tekst lub grafika. Każda komórka może być formatowana oddzielnie. Możemy wyrównywać

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

6.4. Efekty specjalne

6.4. Efekty specjalne 6.4. Efekty specjalne Rozdział ten będzie poświęcony efektom specjalnym, które również znalazły swoje zastosowanie w programie MS PowerPoint 2007. Pierwszym typem efektów jaki zostanie poddany naszej analizie

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

Po wstawieniu tabeli (i zawsze wtedy, gdy w tabeli jest kursor) pojawia się na wstążce nowa grupa zakładek o nazwie Narzędzia tabel.

Po wstawieniu tabeli (i zawsze wtedy, gdy w tabeli jest kursor) pojawia się na wstążce nowa grupa zakładek o nazwie Narzędzia tabel. Tabelę można szybko wstawić do dokumentu, korzystając z przycisku Tabela w zakładce Wstawianie na wstążce. Komputer umożliwia zakreślenie myszką, ile wierszy i kolumn ma mieć tabela. Można też skorzystać

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

Platforma e-learningowa

Platforma e-learningowa Platforma e-learningowa skrócona instrukcja obsługi. Aby uruchomić platformę e-learningową, należy otworzyć przeglądarkę internetową, a następnie wpisać adres http://aok.learnway.eu/ - wyświetlony zostanie

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo

Doskonalsze i nowe komponenty GUI

Doskonalsze i nowe komponenty GUI JFC (Swing) Doskonalsze i nowe komponenty GUI Kontenery najwyŝszego poziomu Aby pojawić się na ekranie kaŝdy komponent musi być częścią pewnej hierarchii zawierania (containment hierarchy). Hierarchia

Bardziej szczegółowo

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt. Grafika w dokumencie Wprowadzanie ozdobnych napisów WordArt Do tworzenia efektownych, ozdobnych napisów służy obiekt WordArt. Aby wstawić do dokumentu obiekt WordArt: 1. Umieść kursor w miejscu, w którym

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG dla Państwowy Instytut Geologiczny Państwowy Instytut Badawczy 1. Uruchomienie aplikacji. a. Wprowadź nazwę użytkownika w miejsce Nazwa użytkownika b. Wprowadź hasło

Bardziej szczegółowo

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej prowadzi: dr inż. Tomasz Bartuś Kraków: 2008 04 04 Przygotowywanie danych źródłowych Poniżej przedstawiono zalecenia umożliwiające

Bardziej szczegółowo

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej, Tworzenie wykresu do danych z tabeli zawierającej analizę rozwoju wyników sportowych w pływaniu stylem dowolnym na dystansie 100 m, zarejestrowanych podczas Igrzysk Olimpijskich na przestrzeni lat 1896-2012.

Bardziej szczegółowo

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

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis, www.erudis.pl Swing Application Framework czyli tam i z powrotem Informacje o mnie Imię: Piotr Nazwisko: Kochański Praca: programista Java, PHP + kilka egzotycznych wynalazków Miejsce pracy: firma Erudis (prawdopodobnie

Bardziej szczegółowo

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych Klasa Średnia 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Do wstawienia wykresu w edytorze tekstu nie potrzebujemy mieć wykonanej tabeli jest ona tylko

Bardziej szczegółowo

Programowanie Zdarzeniowe(PROZ) Projekt własny - gra SUDOKU Dokumentacja końcowa

Programowanie Zdarzeniowe(PROZ) Projekt własny - gra SUDOKU Dokumentacja końcowa Mariusz Żbikowski Programowanie Zdarzeniowe(PROZ) Projekt własny - gra SUDOKU Dokumentacja końcowa Warszawa,07.05.2007 1.Cel projektu i wstępne założenia Celem projektu jest stworzenie aplikacji umożliwiającej

Bardziej szczegółowo