Programowanie w języku Java WYKŁAD

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

Download "Programowanie w języku Java WYKŁAD"

Transkrypt

1 Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational www:

2 WYKŁAD 11 GUI w Swing cz. 1 Wykład został w znacznej mierze oparty na:

3 GUI

4 GUI Zakład Inżynierii Oprogramowania GUI = Graphical User Interface Może być związane: z aplikacją desktopową (nasz wykład) z aplikacją webową (inne przedmioty) Z punktu widzenia inżynierii oprogramowania opracowanie wymagań/architektury/projektu/implementacji/testów prace w projekcie informatycznym nad GUI związane są z tzw. user experience. Istnieją dobre praktyki związane z projektowaniem GUI. Oprócz ogólnych praktyk (kwestie techniczne) należy mieć na względzie fakt, że w różnych dziedzinach zastosowań mogą być różne zwyczaje.

5 GUI Zakład Inżynierii Oprogramowania Technologie służące wytwarzaniu GUI niezależnego od platformy dostępne w 2013 roku: QML Qt Juce Adobe Air Mono+GTK Java FX SWT

6 GUI Zakład Inżynierii Oprogramowania W ramach Java SE GUI może być realizowane w postaci aplikacji desktopowej zarządzanej bezpośrednio przez Window Manager danego systemu operacyjnego albo w postaci apletów zarządzanych przez przeglądarkę. Koncepcja apletów została jednak zdominowana przez bardziej dojrzałe technologie webowe, dlatego zostanie całkowicie pominięta w czasie wykładów.

7 GUI Zakład Inżynierii Oprogramowania Na kolejnym slajdzie pokazano kontekst działania GUI nawiązujący do rozwiązań znanych z Linuxa.

8 GUI Zakład Inżynierii Oprogramowania

9 GUI Zakład Inżynierii Oprogramowania Na kolejnym slajdzie pokazano strukturę okna w systemie okienkowym.

10 GUI Zakład Inżynierii Oprogramowania

11 GUI w Swing

12 GUI w Swing Zakład Inżynierii Oprogramowania Do niedawna uważano, że Swing jest wzorcowo zaprojektowaną biblioteką ilustrującą dobre praktyki stosowane w języku Java. Jednak są przeciwnicy tego podejścia/realizacji oraz trwają prace nad JavaFX biblioteką GUI mającą wkrótce (Java 9?) zastąpić bibliotekę Swing. W ramach wykładu omówimy Swing ze względu na następujące ograniczenia w Java FX: Braki w implementacji dostępnej w Java 7 Niedojrzałość jej implementacji w Java 8 Brak dostatecznego wsparcia narzędziowego Brak dostatecznego wsparcia społecznościowego (tutoriale, książki, fora dyskusyjne, )

13 GUI w Swing Zakład Inżynierii Oprogramowania Zalety biblioteki Swing: Sprzętowo przyspieszane wyświetlanie MVC Wykorzystanie technologii Java managed code Wsparcie przez środowiska deweloperskie projektowanie WYSIWYG, narzędzia testowania Wsparcie społecznościowe (por. rys)

14 GUI w Swing Zakład Inżynierii Oprogramowania

15 GUI w Swing Zakład Inżynierii Oprogramowania Wady biblioteki Swing w Java 7: Zdarzają się krytyczne błędy, które długo pozostają nierozwiązane (np. File.exists) Ograniczenia związane z Mac OS Konieczność umieszczania JRE w dystrybucji oprogramowania Ograniczenia implementacyjne związane z BufferedImage trudności z przyspiesznaiem sprzętowym, trudności z wyświetlaniem obiektów rastrowych BufferedImage Problemy z wyświetlaniem GUI przy dostępie przez VMware lub przez remote desktop

16 GUI w Swing Zakład Inżynierii Oprogramowania Przegląd Swing API stanowi zbiór rozszerzalnych komponentów GUI ułatwiających programiście implementację GUI aplikacji desktopowych. Biblioteka ta została skonstruowana na bazie AWT i stanowi jej nakładkę (wrapper). Komponenty Swing zostały opracowane zgodnie z wzorcem architektonicznym MVC i spełniają następujące założenia: Pojedyncze API zapewniające obsługę różnorodnych widoków Możliwość automatycznego generowania aplikacji z modelu Zorientowanie na wsparcie narzędziowe

17 GUI w Swing Zakład Inżynierii Oprogramowania Architektura MVC Architektura Swing API wspiera MVC następująco: Model reprezentuje dane komponentów. View reprezentuje widok danych komponentu. Controller pobiera dane od użytkownika z widoku i odzwierciedla zmiany w danych komponentu. Komponenty Swing mają Model jako osobny element a View i Controller należą do elementów GUI. Dzięki temu Swing jest łatwo rozszerzalny.

18 GUI w Swing Zakład Inżynierii Oprogramowania Cechy Swing Light Weight komponenty Swing są niezależne od natywnych API systemów operacyjnych ponieważ jego komponenty nie odwołują się wprost do API systemu operacyjnego. Rich controls - Swing dostarcza bogatego zbioru zaawansowanych kontrolek jak np. Tree, TabbedPane, slider, colorpicker, table controls Highly Customizable kontrolki Swing mogą być łatwo dostosowywane do potrzeb użytkownika gdyż ich wygląd jest niezależny od reprezentacji wewnętrznej. Pluggable look-and-feel wygląd aplikacji, których GUI oparte jest na Swing API może być zmieniany w czasie wykonania.

19 GUI w Swing Zakład Inżynierii Oprogramowania Kontrolki Swing Każde GUI uwzględnia następujące trzy aspekty: UI elements: Główne elementy wizualne dostępne dla użytkownika. Ich przykłady zostaną omówione dalej. Layouts: Określają jak poszczególne kontrolki powinny być położone na ekranie. Zagadnienie to zostanie omówione dalej. Behavior: Są związane ze zdarzeniami generowanymi przez użytkownika działającego na elementach GUI. Pozwalają obsługiwać zdarzenia w sposób asynchroniczny i wielowątkowy.

20 GUI w Swing Zakład Inżynierii Oprogramowania

21 GUI w Swing - komponenty Swing klasa Component Klasa Component jest bazową klasą abstrakcyjną dla kontrolek AWT nie będących elementami menu. Component reprezentuje obiekt mający reprezentację graficzną.

22 GUI w Swing - komponenty Swing - klasa Container Klasa Container jest nadklasą dla kontenerów AWT. Obiekt klasy Container może zawierać inne komponenty AWT.

23 GUI w Swing - komponenty Swing - klasa JComponent Klasa JComponent jest klasą bazową dla wszystkich komponentów Swing z wyjątkiem komponentów leżących najwyżej w hierarchii. Aby skorzystać z komponentu dziedziczącego z JComponent należy umieścić go w hierarchii kontenerów, której wierzchołkiem jest jeden z kontenerów Swing.

24 GUI w Swing - komponenty Swing klasa JLabel Klasa JLabel może wyświetlać tekst i/lub obraz. Zawartość obiektu Label może być pozycjonowana w pionie i w poziomie względem tego komponentu. Domyślnie jest wycentrowana w pionie. Etykiety tekstowe są domyślnie ustawione przy lewej krawędzi kontrolki, a graficzne są domyślnie wycentrowane.

25 GUI w Swing - komponenty Swing klasa JButton Klasa JButton stanowi implementację przycisku. Komponent ten ma etykietę (tekst i/lub grafika jak Label) i generuje zdarzenia w czasie wciskania.

26 GUI w Swing - komponenty Swing klasa JColorChooser Klasa JColorChooser dostarcza panelu kontrolek zaprojektowanych w celu umożliwienia użytkownikowi manipulowania kolorami i dokonywania wyboru koloru.

27 GUI w Swing - komponenty Swing JCheckBox Class Klasa JCheckBox jest implementacją check-boxu.

28 GUI w Swing - komponenty Swing - klasa JRadioButton Klasa JRadioButton jets implementacją radio-button.

29 GUI w Swing - komponenty Swing klasa JList Klasa JList jest komponentem wyświetlającym listę obiektów pozwalającą użytkownikowi wybrać jeden lub wiele z nich.

30 GUI w Swing - komponenty Swing klasa JComboBox Klasa JComboBox jest komponentem zawierającym przycisk lub pole edytowalne oraz listę rozwijaną dynamicznie.

31 GUI w Swing - komponenty Swing klasa JTextField Klasa JTextField jest komponentem pozwalającym na edytowanie pojedynczej linii tekstu.

32 GUI w Swing - komponenty Swing klasa JPasswordField Klasa JPasswordField jest komponentem dedykowanym do obsługi funkcjonalności hasła i pozwala na edytowanie pojedynczej linii tekstu maskując jego treść.

33 GUI w Swing - komponenty Swing klasa JTextArea Klasa JTextArea jest wieloliniowym obszarem do edycji tekstu.

34 GUI w Swing - komponenty Swing klasa ImageIcon Klasa ImageIcon jest implementacją interfejsu Icon wyświetlającego ikonę dla obrazu graficznego.

35 GUI w Swing - komponenty Swing klasa JScrollBar Klasa JScrollBar jest implementacją paska przewijania.

36 GUI w Swing - komponenty Swing klasa JOptionPane Klasa JOptionPane jest komponentem dostarczającym standardowych metod dla wyskakującego okienka dialogowego służącego poinformowaniu użytkownika o czymś.

37 GUI w Swing - komponenty Swing klasa JFileChooser Klasa JFileChooser jest komponentem dostarczającym użytkownikowi prostego mechanizmu wybierania pliku.

38 GUI w Swing - komponenty Swing klasa JProgressBar Klasa JProgressBar jest komponentem wyswietlającym postęp jakiegoś zadania.

39 GUI w Swing - komponenty Swing klasa JSlider Klasa JSlider jest komponentem pozwalającym użytkownikowi na graficzny wybór wartości za pomocą suwaka poruszającego się w określonym zakresie.

40 GUI w Swing - komponenty Swing klasa JSpinner Klasa JSpinner jest komponentem pozwalającym użytkownikowi na wybranie wartości parametru z uporządkowanej sekwencji wartości za pomocą strzałek przewijania lub za pomocą pola wejściowego.

41 GUI w Swing - zdarzenia SWING klasy Event Klasy Event reprezentują zdarzenia. Java dostarcza wielu różnych wyspecjalizowanych klas tej kategorii. Omówione zostaną przykładowe, najczęściej używane.

42 GUI w Swing - zdarzenia Klasa EventObject Jest to klasa bazowa, z której wyprowadzane są wszystkie klasy zdarzeń. Obiekty tych klas konstruowane są w taki sposób, aby źródło zdarzenia obiekt, w którym zdarzenie zostało zainicjowane było w nim reprezentowane za pomocą referencji do tego obiektu. Klasa ta jest zdefiniowana w pakiecie java.util.

43 GUI w Swing - zdarzenia SWING klasa AWTEvent Jest to klasa bazowa dla wszystkich zdarzeń AWT. Zastępuje ona klasy zdarzeń wywodzonych z klasy java.awt.event. Jest ona zdefiniowana w pakiecie java.awt. Za pomocą metody getid() można zidentyfikować typ zdarzenia.

44 GUI w Swing - zdarzenia SWING klasa ActionEvent Klasa ta jest zdefiniowana w pakiecie java.awt.event. Obiekt ActionEvent jest generowany gdy zostanie wciśnięty przycisk lub nastąpi kliknięcie lub podwójne kliknięcie na pozycji z listy.

45 GUI w Swing - zdarzenia SWING klasa InputEvent Klasa InputEvent jest klasą bazową dla wszystkich zdarzeń generowanych na poziomie komponentów. Zdarzenia wejściowe są dostarczane do Listener ów zanim zostaną obsłużone przez źródło, w którym powstały. Pozwala to na przejęcie kontroli nad wygenerowanym zdarzeniem przez Listener a lub podklasę komponentu zanim komponent źródłowy obsłuży je w sposób dla niego charakterystyczny. Np. przejęcie zdarzenia mousepressed wygenerowanego na komponencie przycisku Button pozwala zabezpieczyć obiekt klasy Button przed aktywowaniem go.

46 GUI w Swing - zdarzenia SWING klasa KeyEvent Obiekt tej klasy jest generowany w czasie wprowadzania z klawiatury znaku. Są trzy rodzaje takich zdarzeń reprezentowane za pomocą następujących stałych całkowitych: KEY_PRESSED KEY_RELASED KEY_TYPED

47 GUI w Swing - zdarzenia SWING klasa MouseEvent Zdarzenie to świadczy o wykonaniu czynności za pomocą myszy na komponencie. Jest ono generowane gdy: Zostanie wciśnięty przycisk myszy Zostanie zwolniony przycisk myszy Zostanie kliknięty (wciśnięty i zwolniony) przycisk myszy Kursor myszy wejdzie w obszar komponentu Kursor myszy znajduje się w obszarze komponentu Mysz zostanie poruszona Przycisk myszy zostanie wciśnięty i przytrzymany

48 GUI w Swing - zdarzenia SWING klasa WindowEvent Obiekt tej klasy reprezentuje zmianę stanu okna. Zdarzenie to jest generowane w przypadku otwarcia, zamknięcia, aktywacji, dezaktywacji, zwinięcia, rozwinięcia, uzyskania lub utraty fokusu.

49 GUI w Swing - zdarzenia SWING klasa AdjustmentEvent Klasa AdjustmentEvent reprezentuje zdarzenie zmiany rozmiaru generowane przez komponenty mogące zmieniać rozmiar (nie wszystkie).

50 GUI w Swing - zdarzenia SWING - klasa ComponentEvent Klasa ComponentEvent reprezentuje zdarzenia generowane gdy komponent zostanie przesunięty, zmieni rozmiar lub widoczność (zostanie ukryty lub odsłonięty).

51 GUI w Swing - zdarzenia SWING klasa ContainerEvent Klasa ContainerEvent reprezentuje zdarzenie informujące o zmianie zawartości kontenera związane z dodaniem do niego lub usunięciem z niego komponentu.

52 GUI w Swing - zdarzenia SWING interfejs MouseMotionEvent Interfejs MouseMotionEvent świadczy o czynności myszy wykonanej na komponencie. Zdarzenie takie jest generowane przez komponent gdy mysz zostanie przesunięta lub wciśnięta nad nim.

53 GUI w Swing - zdarzenia SWING klasa PaintEvent Klasa PaintEvent jest używana do zapewnienia skolejkowania wywołań metody paint/update wraz z innymi zdarzeniami dostarczanymi z kolejki zdarzeń.

54 GUI w Swing obsługa zdarzeń SWING klasy Event Listeners Event listener reprezentuje interfejsy odpowiedzialne za obsługę zdarzeń. Java dostarcza wielu klas Event listener ów tutaj zostaną pokazana najczęściej wykorzystywane. Każda metoda event listener a ma jeden argument będący odpowiednią podklasą klasy EventObject. Np. metody klasy będącej mouse event listener em przyjmują jako argument obiekty klasy MouseEvent, gdzie MouseEvent dziedziczy z klasy EventObject.

55 GUI w Swing obsługa zdarzeń Interfejs EventListner Jest to interfejs, który musi być rozszerzany przez każdy interfejs event listenera.definicja tego interfejsu znajduje się w pakiecie java.util.

56 GUI w Swing obsługa zdarzeń SWING interfejs ActionListener Musi być implementowany przez każdą klasę przetwarzającą ActionEvent. Obiekt tej klasy musi być zarejestrowany w komponencie. Można tego dokonać za pomocą metody addactionlistener(). Kiedy powstanie action event, wtedy zostanie wywołana metoda actionperformed() obiektu.

57 GUI w Swing obsługa zdarzeń SWING interfejs ComponentListener Powinna go implementować klasa, która przetwarza ComponentEvent. Obiekt tej klasy musi zostać zarejestrowany w komponencie. Można tego dokonać za pomocą metody addcomponentlistener(). Zdarzenia component event są generowane jedynie dla celów informacyjnych.

58 GUI w Swing obsługa zdarzeń SWING interfejs ItemListener Powinien zostać zaimplementowany przez klasę przetwarzającą ItemEvent. Obiekt tej klasy musi zostać zarejestrowany w komponencie. Można tego dokonać za pomocą metody additemlistener(). Gdy pojawi się action event, wtedy zostanie wywołana metoda itemstatechanged() obiektu.

59 GUI w Swing obsługa zdarzeń SWING interfejs KeyListener Powinien zostać zaimplementowany przez klasę przetwarzającą KeyEvent. Obiekt tej klasy musi zostać zarejestrowany w komponencie. Można tego dokonać za pomocą metody addkeylistener().

60 GUI w Swing obsługa zdarzeń SWING interfejs MouseListener Klasa przetwarzająca MouseEvent powinna implementować ten interfejs. Obiekt tej klasy musi zostać zaimplementowany w komponencie. Można tego dokonać za pomocą metody addmouselistener().

61 GUI w Swing obsługa zdarzeń SWING interfejs WindowListener Klasa przetwarzająca WindowEvent powinna implementować ten interfejs. Obiekt tej klasy musi zostać zarejestrowany w komponencie. Można tego dokonać za pomocą metody addwindowlistener().

62 GUI w Swing obsługa zdarzeń SWING interfejs AdjustmentListener Interfejs AdjustmentListener jest używany do odbierania zdarzeń dopasowania (adjustment events). Klasa przetwarzająca te zdarzenia musi implementować ten interfejs.

63 GUI w Swing obsługa zdarzeń SWING interfejs ContainerListener Interfejs ContainerListener jest używany do odbierania zdarzeń container events. Klasa przetwarzająca te zdarzenia musi implementować ten interfejs.

64 GUI w Swing obsługa zdarzeń SWING interfejs MouseMotionListener Interfejs MouseMotionListener jest używany do odbierania zdarzeń mouse motion events generowanych na komponencie. Klasa przetwarzająca te zdarzenia musi implementować ten interfejs.

65 GUI w Swing obsługa zdarzeń SWING interfejs FocusListener Interfejs FocusListener jest używany do odbierania zdarzeń focus events. Klasa przetwarzająca te zdarzenia musi implementować ten interfejs.

66 GUI w Swing obsługa zdarzeń Adaptery SWING Event Adapters Adaptery są klasami abstrakcyjnymi służącymi odbieraniu różnych zdarzeń. Metody w tych klasach są puste. Klasy te służą jako Utility Classes do tworzenia obiektów listener ów.

67 GUI w Swing obsługa zdarzeń SWING klasa FocusAdapter Klasa FocusAdapter jest abstrakcyjną klasą adaptera do odbierania zdarzeń focus events.

68 GUI w Swing obsługa zdarzeń SWING klasa KeyAdapter Klasa KeyAdapter jest klasą abstrakcyjną adaptera służącą odbieraniu zdarzeń keyboard events.

69 GUI w Swing obsługa zdarzeń SWING klasa MouseAdapter Klasa MouseAdapter jest abstrakcyjną klasą adaptera do odbierania zdarzeń mouse events.

70 GUI w Swing obsługa zdarzeń SWING klasa MouseMotionAdapter Klasa MouseMotionAdapter jest klasą abstrakcyjną adaptera do odbierania zdarzeń mouse motion events.

71 GUI w Swing obsługa zdarzeń SWING klasa WindowAdapter Klasa WindowAdapter jest abstrakcyjną klasą adaptera do odbierania zdarzeń window events.

72 GUI w Swing - layout SWING Layouts Layout oznacza ułożenie komponentów w kontenerze w określonych pozycjach. Zadanie układania komponentów realizowane jest automatycznie przez Layout Manager.

73 GUI w Swing - layout Layout Manager Automatycznie rozmieszcza wszystkie komponenty w kontenerze. Jeśli go nie określimy, to jest używany domyślny. Ręcznie nie opłaca się implementować jego funkcjonalności jest to trudne z następujących powodów: Obsłużenie dużej ilości kontrolek w kontenerze jest trudne Zwykle nie dysponujemy informacją o rozmiarach komponentu wtedy gdy chcemy go odpowiednio umieścić w kontenerze. Swing dostarcza wielu klas layout manager. Obsługują one również skutki zmiany rozmiaru okna kontenera rozmieszczając ponownie w nim komponenty. Z każdą instancją klasycontainer skojarzony jest obiekt layout managera. Każda klasa layout managera musi implementować interfejs LayoutManager.

74 GUI w Swing - layout SWING iterfejs LayoutManage Interfejs LayoutManager jest używany do definiowania interfejsu klas wiedzących jak rozmieszczać komponenty w kontenerach.

75 GUI w Swing - layout SWING interfejs LayoutManager2 Interfejs LayoutManger jest używany do definiowania interfejsu dla klas wiedzących jak rozmieszczą komponenty w kontenerach w oparciu o obiekt layout constraints.

76 GUI w Swing - layout SWING klasa BorderLayout Klasa BorderLayout rozmieszcza komponenty tak aby ulokować je w pięciu regionach: east, west, north, south i center. Każdy region może zawierać tylko jeden komponent i każdy komponent jest identyfikowany za pomocą odpowiedniej stałej NORTH, SOUTH, EAST, WEST i CENTER.

77 GUI w Swing - layout SWING klasa CardLayout Klasa CardLayout rozmieszcza każdy komponent w kontenerze jako kartę. Wdanej chwili może być widoczna tylko jedna karta i kontener jest wykorzystywany jako stos kart.

78 GUI w Swing - layout SWING klasa FlowLayout Klasa FlowLayout rozmieszcza komponenty od lewej strony do prawej.

79 GUI w Swing - layout SWING klasa GridLayout Klasa GridLayout rozmieszcza komponenty w siatce prostokątnej.

80 GUI w Swing - layout SWING klasa GridBagLayout Klasa GridBagLayout rozmieszcza komponenty horyzontalnie i wertykalnie.

81 GUI w Swing - layout SWING klasa GroupLayout Klasa GroupLayout grupuje komponenty hierarchicznie.

82 GUI w Swing - layout SWING klasa SpringLayout Klasa SpringLayout rozmieszcza komponenty na podstawie zbioru ograniczeń (constraints).

83 GUI w Swing - menu Klasy SWING Menu Każde główne okno aplikacji ma w górnej części skojarzony z nim pasek menu. Pasek menu składa się z wielu pozycji dostępnych dla użytkownika aplikacji. Ponadto każdy wybór może zawierać listę opcji zwanych drop down menu. Kontrolki Menu i MenuItem są podklasami MenuComponent.

84 GUI w Swing - menu

85 GUI w Swing - menu SWING klasa JMenuBar Klasa JMenuBar dostarcza implementacji paska menu.

86 GUI w Swing - menu SWING klasa JMenuItem Klasa JMenuItem reprezentuje pozycję w menu. Wszystkie pozycje w menu powinny dziedziczyć z klasy JMenuItem lub z jednej z jej podklas. Domyślnie skojarzona jest z etykietą.

87 GUI w Swing - menu SWING klasa JMenu Klasa Menu reprezentuje element menu rozwijany z poziomu paska menu.

88 GUI w Swing - menu SWING klasa JCheckboxMenuItem Klasa JCheckboxMenuItem reprezentuje check-box, który może znajdować się w menu. Wybranie check-box a w menu zmienia stan kontrolki z on na off albo z off na on.

89 GUI w Swing - menu SWING klasa JRadioButtonMenuItem Klasa JRadioButtonMenuItem reprezentuje radio-button, który może zostać umieszczony w menu. Wybranie radio-button w menu zmienia stan kontrolki z on na off albo z off na on.

90 GUI w Swing - menu SWING klasa JPopupMenu Klasa ta reprezentuje menu rozwijane dynamicznie w określonej pozycji komponentu.

91 GUI w Swing - kontenery Kontenery SWING Kontenery są integralną częścią komponentów GUI w SWING. Kontener dostarcza miejsca, w którym może znaleźć się komponent. Container w AWT jest komponentem pozwalającym na dodawanie do niego komponentów. Warto zwrócić uwagę na następujące własności kontenerów: Podklasy Container są nazywane kontenerami. Np. JPanel, JFrame i JWindow. Kontener może zawierać jedynie komponenty. Z każdym kontenerem związany jest charakterystyczny dla niego domyślny layout. Może on zostać zmieniony za pomocą przeciążonej metody setlayout().

92 GUI w Swing - kontenery SWING klasa JPanel Klasa JPanel jest ogólnym lekkim kontenerem.

93 GUI w Swing - kontenery SWING klasa JFrame Klasa JFrame jest rozszerzeniem klasy java.awt.frame wprowadzającą do niej wsparcie dla komponentowej architektury JFC/Swing.

94 GUI w Swing - kontenery SWING klasa JWindow Klasa JWindow jest kontenerem, który może zostać wyświetlony ale nie zawiera paska tytułu ani przycisków zarządzania oknem.

95 GUI w Swing Zakład Inżynierii Oprogramowania Dobre praktyki w Swing: Każde okno powinno rozszerzać JFrame albo JDialog (w zależności od typu okna). Ułatwia to zarządzanie własnościami okna bez konieczności odwoływania się do konkretnego obiektu jego podklasy.. Metoda main() powinna zostać umieszczona w osobnej klasie. Zwiększa to prawdopodobieństwo ponownego wykorzystania okna. Listener y powinny być implementowane w anonimowych klasach wewnętrznych w Java 7 lub za pomocą wyrażeń lambda w Java 8. Klasa główna nie powinna implementować żadnego listenera. Chroni to przed atakiem polegającym na przechwytywaniu komunikatów poza obiektem, z którym są one skojarzone.

96 GUI w Swing Zakład Inżynierii Oprogramowania Klasy GridBagLayout należy używać ostrożnie. Jest to bardzo bogaty Layout Manager, chociaż trudny do opanowania. Klasy JPanel należy używać ostrożnie. Należy najpierw zastanowić się, które komponenty powinny zmienić swój rozmiar wraz ze zmianą rozmiaru okna a następnie zgrupować te komponenty w JPanel. Czasem wymaga to zagnieżdżania w sobie obiektów klasy JPanel. Zawsze należy zaczynać od utworzenia wątku dispatchera zdarzeń. Najpierw należy wywołać metodę pack() potem dopasować rozmiar ramki a dopiero potem wywołać metodę setvisible(). Warto rozważyć użycie metody getmaximumwindowbounds(): GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); Rectangle bounds = env.getmaximumwindowbounds();

97 GUI w Swing Zakład Inżynierii Oprogramowania Przykład zastosowania powyższych dobrych praktyk public class Main { } public static void main(string[] args) { } final String text = args[0]; SwingUtilities.invokeLater(new Runnable() public void run() { } }); final MyWindow wnd = new MyWindow(text); wnd.setvisible(true);

98 GUI w Swing Zakład Inżynierii Oprogramowania public class MyWindow extends JFrame { public MyWindow(String text) { super("my Window"); setdefaultcloseoperation(windowconstants.do_nothing_on_close); addwindowlistener(new WindowAdapter() public void windowclosing(windowevent e) { MyWindow.this.setVisible(false); MyWindow.this.dispose(); } }); final JButton btn = new JButton(text); btn.addactionlistener(new ActionListener() public void actionperformed(actionevent e) { JOptionPane.showMessageDialog(MyWindow.this, "Button Pressed", "Hey", JOptionPane.INFORMATION_MESSAGE); } }); setlayout(new FlowLayout()); add(btn); pack(); } }

99 Koniec

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

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

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

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

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

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

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

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

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

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

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

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

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

Dodanie nowej formy do projektu polega na:

Dodanie nowej formy do projektu polega na: 7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie

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

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

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

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

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

Laboratorium 8 ( Android -pierwsza aplikacja)

Laboratorium 8 ( Android -pierwsza aplikacja) Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 8 ( Android -pierwsza aplikacja) Naszym celem jest stworzenie aplikacji, która wyświetla zdjęcie Alberta Einsteina. Jeden z przycisków

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

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

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

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

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

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

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

xmlns:prism=http://www.codeplex.com/prism c.

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

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

Tworzenie aplikacji graficznych SWT i JFace

Tworzenie aplikacji graficznych SWT i JFace Rozkład jazdy: 1. GUI przedpotopowe era AWT i Swinga 2. Kilka słów na temat ewolucji SWT i JFace 3. Standard Widget przegląd komponentów 4. Układy i układziki, czyli Layout Managery 5. Viewery i Wizzardy

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Laboratorium programowania urządzeń mobilnych

Laboratorium programowania urządzeń mobilnych Laboratorium programowania urządzeń mobilnych Wprowadzenie Hierarcha klas dla aplikacji typu Silverlight tworzonej przez Visual Studio jest następująca: Obsługa ekranu W urządzeniach z Windows Phone 7

Bardziej szczegółowo

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej. W przygotowaniu ćwiczeń wykorzystano m.in. następujące materiały: 1. Program AutoCAD 2012. 2. Graf J.: AutoCAD 14PL Ćwiczenia. Mikom 1998. 3. Kłosowski P., Grabowska A.: Obsługa programu AutoCAD 14 i 2000.

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

Maskowanie i selekcja

Maskowanie i selekcja Maskowanie i selekcja Maska prostokątna Grafika bitmapowa - Corel PHOTO-PAINT Pozwala definiować prostokątne obszary edytowalne. Kiedy chcemy wykonać operacje nie na całym obrazku, lecz na jego części,

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

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

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Instrukcja obsługi Aplikacja wizualizuje obszar projektu tj. Dorzecze Środkowej Odry będące w administracji Regionalnego Zarządu

Bardziej szczegółowo

9. Swing wprowadzenie

9. Swing wprowadzenie 9.1 Komponenty 9. Swing wprowadzenie 9.2 Przykłady tworzenia GUI W. Kasprzak: Programowanie zdarzeniowe 9-1 9.1 Komponenty 1) Przegląd komponentów Swing-a 1. Kontenery główne 2. Kontenery ogólne pośredniego

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

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS PROBLEMY TECHNICZNE Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS Jeżeli stwierdziłeś występowanie błędów lub problemów podczas pracy z programem DYSONANS możesz skorzystać

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWNIKA. Spis treści. I. Wprowadzenie... 2. II. Tworzenie nowej karty pracy... 3. a. Obiekty... 4. b. Nauka pisania...

INSTRUKCJA UŻYTKOWNIKA. Spis treści. I. Wprowadzenie... 2. II. Tworzenie nowej karty pracy... 3. a. Obiekty... 4. b. Nauka pisania... INSTRUKCJA UŻYTKOWNIKA Spis treści I. Wprowadzenie... 2 II. Tworzenie nowej karty pracy... 3 a. Obiekty... 4 b. Nauka pisania... 5 c. Piktogramy komunikacyjne... 5 d. Warstwy... 5 e. Zapis... 6 III. Galeria...

Bardziej szczegółowo

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.2/2015

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.2/2015 Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.2/2015 Informacje ogólne Wnioski o dofinansowanie projektu w ramach konkursu nr 1/1.1.2/2015 mogą

Bardziej szczegółowo

Pokaz slajdów na stronie internetowej

Pokaz slajdów na stronie internetowej Pokaz slajdów na stronie internetowej... 1 Podpisy pod zdjęciami... 3 Publikacja pokazu slajdów w Internecie... 4 Generator strony Uczelni... 4 Funkcje dla zaawansowanych użytkowników... 5 Zmiana kolorów

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

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

Spis treści. 1 Moduł Mapy 2

Spis treści. 1 Moduł Mapy 2 Spis treści 1 Moduł Mapy 2 1.1 Elementy planu............................. 2 1.1.1 Interfejs widoku......................... 3 1.1.1.1 Panel sterujacy.................... 3 1.1.1.2 Suwak regulujacy przybliżenie...........

Bardziej szczegółowo

DesignCAD 3D Max 24.0 PL

DesignCAD 3D Max 24.0 PL DesignCAD 3D Max 24.0 PL Październik 2014 DesignCAD 3D Max 24.0 PL zawiera następujące ulepszenia i poprawki: Nowe funkcje: Tryb RedSDK jest teraz dostępny w widoku 3D i jest w pełni obsługiwany przez

Bardziej szczegółowo

1. REJESTRACJA W INTERIM24.PL... 2 2. PANEL UŻYTKOWNIKA ZAWARTOŚĆ... 8 3. UZUPEŁNIENIE PROFILU... 9

1. REJESTRACJA W INTERIM24.PL... 2 2. PANEL UŻYTKOWNIKA ZAWARTOŚĆ... 8 3. UZUPEŁNIENIE PROFILU... 9 Strona1 Platforma Interim24.pl została stworzona w ramach projektu Interim management nowość w zarządzaniu wiekiem i firmą współfinansowanego przez Unię Europejską w ramach Europejski Funduszu Społecznego.

Bardziej szczegółowo

Expo Composer. www.doittechnology.pl 1. Garncarska 5 70-377 Szczecin tel.: +48 91 404 09 24 e-mail: info@doittechnology.pl. Dokumentacja użytkownika

Expo Composer. www.doittechnology.pl 1. Garncarska 5 70-377 Szczecin tel.: +48 91 404 09 24 e-mail: info@doittechnology.pl. Dokumentacja użytkownika Expo Composer Dokumentacja użytkownika Wersja 1.0 www.doittechnology.pl 1 SPIS TREŚCI 1. O PROGRAMIE... 3 Wstęp... 3 Wymagania systemowe... 3 Licencjonowanie... 3 2. PIERWSZE KROKI Z Expo Composer... 4

Bardziej szczegółowo

Tworzenie bazy danych na przykładzie Access

Tworzenie bazy danych na przykładzie Access Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy

Bardziej szczegółowo

Tworzenie okna dialogowego w edytorze raportu SigmaNEST część 2

Tworzenie okna dialogowego w edytorze raportu SigmaNEST część 2 Tworzenie okna dialogowego w edytorze raportu SigmaNEST część 2 W ostatniej części newslettera wyjaśniliśmy czym jest okno dialogowe oraz w jaki sposób można je utworzyć. Przy pomocy edytora raportów SigmaNEST

Bardziej szczegółowo

Jeżeli w komputerze była już zainstalowana inna wersja Javy może pojawić się komunikat

Jeżeli w komputerze była już zainstalowana inna wersja Javy może pojawić się komunikat Aby uruchomić nową wersję KSAT należy posiadać nową wersję przeglądarki Firefox można pobrać ze strony https://www.mozilla.org/pl/firefox/new (działa również w Chrome) oraz zainstalowaną Javę i program

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

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

I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... Kreator szablonów I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... 7 a. Grafika... 7 b. Tekst... 7 c.

Bardziej szczegółowo

Inventor 2016 co nowego?

Inventor 2016 co nowego? Inventor 2016 co nowego? OGÓLNE 1. Udoskonalenia wizualizacji, grafiki i programu Studio Nowa obsługa oświetlenia opartego na obrazie (IBL, Image Based Lighting) Wszystkie style oświetlenia w programie

Bardziej szczegółowo

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu Laboratorium z Grafiki InŜynierskiej CAD W przygotowaniu ćwiczeń wykorzystano m.in. następujące materiały: 1. Program AutoCAD 2010. 2. Graf J.: AutoCAD 14PL Ćwiczenia. Mikom 1998. 3. Kłosowski P., Grabowska

Bardziej szczegółowo

Wstęp do JUNG. Omówione elementy wykorzystane w Edge Color Project

Wstęp do JUNG. Omówione elementy wykorzystane w Edge Color Project JUNG Java Universal Network/Graph Framework JUNG jest to biblioteka służąca do modelowania, analizy i wizualizacji danych reprezentowanych w postaci grafów lub sieci. Architektura JUNGa wspiera różnorodność

Bardziej szczegółowo

Platforma szkoleniowa krok po kroku. Poradnik Kursanta

Platforma szkoleniowa krok po kroku. Poradnik Kursanta - 1 - Platforma szkoleniowa krok po kroku Poradnik Kursanta PORA - 2 - Jeśli masz problemy z uruchomieniem Platformy szkoleniowej warto sprawdzić poprawność poniższych konfiguracji: - 3 - SPRZĘT Procesor

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Podstawowe czynnos ci w programie PowerPoint

Podstawowe czynnos ci w programie PowerPoint Podstawowe czynnos ci w programie PowerPoint Program PowerPoint to zaawansowana aplikacja do obsługi prezentacji, jednak aby w pełni wykorzystać jej możliwości, należy najpierw poznać jej podstawowe funkcje.

Bardziej szczegółowo

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Compas 2026 Vision Instrukcja obsługi do wersji 1.07 Compas 2026 Vision Instrukcja obsługi do wersji 1.07 1 2 Spis treści Integracja...5 1.Compas 2026 Lan...5 Logowanie...7 Użytkownicy...8 Raporty...10 Tworzenie wizualizacji Widoki...12 1.Zarządzanie widokami...12

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

WIZUALIZER 3D APLIKACJA DOBORU KOSTKI BRUKOWEJ. Instrukcja obsługi aplikacji

WIZUALIZER 3D APLIKACJA DOBORU KOSTKI BRUKOWEJ. Instrukcja obsługi aplikacji /30 WIZUALIZER 3D APLIKACJA DOBORU KOSTKI BRUKOWEJ Instrukcja obsługi aplikacji Aby rozpocząć pracę z aplikacją, należy zarejestrować się w celu założenia konta. Wystarczy wpisać imię, nazwisko, adres

Bardziej szczegółowo

Szczegółowy opis zlecenia Plugin do oprogramowania dlibra. Szczegółowy opis zlecenia dla Pluginu do oprogramowania dlibra.

Szczegółowy opis zlecenia Plugin do oprogramowania dlibra. Szczegółowy opis zlecenia dla Pluginu do oprogramowania dlibra. Projekt Śląska Internetowa Biblioteka Zbiorów Zabytkowych współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Infrastruktura i Środowisko

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi. DCOM Aplikacje serwera i klienta DCOM, które zamierzamy stworzyć są podobne do tych zrobionych w ćwiczeniu dotyczącym TCP/IP. Aplikacja serwera będzie jedno wątkowa, a co za tym idzie będzie mogła obsłużyć

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Prezentacja multimedialna MS PowerPoint 2010 (podstawy) Prezentacja multimedialna MS PowerPoint 2010 (podstawy) Cz. 4. Animacje, przejścia, pokaz slajdów Dzięki animacjom nasza prezentacja może stać się bardziej dynamiczna, a informacje, które chcemy przekazać,

Bardziej szczegółowo

Obrazek 1: Interfejs DT. DT Help File v1.3

Obrazek 1: Interfejs DT. DT Help File v1.3 Interfejs DT Ta sekcja umożliwia minimalizowanie i/lub zamykanie interfejsu DT, zapewnia dostęp do funkcji wyszukiwania oraz paska informującego o wolnej/zajętej przestrzeni. Ta sekcja umożliwia wybór

Bardziej szczegółowo

Platforma Eclipse: Pluginy, RCP oraz GEF http://www.apohllo.pl/texts/eclipse.pdf

Platforma Eclipse: Pluginy, RCP oraz GEF http://www.apohllo.pl/texts/eclipse.pdf Platforma Eclipse: Pluginy, RCP oraz GEF http://www.apohllo.pl/texts/eclipse.pdf Akademia Górniczo-Hutnicza, Kraków 26. października 2007 Eclipse, RCP, GEF Platforma Eclipse www.eclipse.org jedno z najbardziej

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

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

WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT

WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT JavaScript jest językiem skryptowym powszechnie stosowanym przez programistów internetowych. Skrypty służą zazwyczaj do zapewnienia

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

Operacje na gotowych projektach.

Operacje na gotowych projektach. 1 Operacje na gotowych projektach. I. Informacje wstępne. -Wiele firm udostępnia swoje produkty w postaci katalogów wykonanych w środowisku projektowania AutoCad. Podstawowym rozszerzeniem projektów stworzonych

Bardziej szczegółowo

BAZY DANYCH Formularze i raporty

BAZY DANYCH Formularze i raporty BAZY DANYCH Formularze i raporty Za pomocą tabel można wprowadzać nowe dane, przeglądać i modyfikować dane już istniejące. Jednak dla typowego użytkownika systemu baz danych, przygotowuje się specjalne

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Kontrolka ActiveX Internet Explorer w aplikacji wizualizacyjnej InTouch

Kontrolka ActiveX Internet Explorer w aplikacji wizualizacyjnej InTouch Informator Techniczny nr 55 01-10-2002 INFORMATOR TECHNICZNY WONDERWARE Kontrolka ActiveX Internet Explorer w aplikacji wizualizacyjnej InTouch Program Internet Explorer, poza moŝliwością przeglądania

Bardziej szczegółowo

Krótka instrukcja instalacji Adobe Acrobat Reader

Krótka instrukcja instalacji Adobe Acrobat Reader Krótka instrukcja instalacji Adobe Acrobat Reader Program Adobe Acrobat Reader jest niezbędny do otwarcia dokumentu e-faktury tp. Jeżeli nie posiadają go Państwo w swoim komputerze, należy go zainstalować.

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

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

REJESTRACJA W PRZYCHODNI

REJESTRACJA W PRZYCHODNI Instrukcja stanowiskowa aplikacji Medicus On-Line REJESTRACJA W PRZYCHODNI 1 Spis treści: 1. Logowanie do systemu i zmiana hasła str. 3 2. Ogólne zasady korzystania z systemu str. 4 3. Dodanie wizyty pacjentowi

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

Platforma szkoleniowa krok po kroku

Platforma szkoleniowa krok po kroku Platforma szkoleniowa krok po kroku Jeśli masz problemy z uruchomieniem Platformy szkoleniowej warto sprawdzić poprawność poniższych konfiguracji: Minimalne wymagania sprzętowe SPRZĘT Procesor min. 233

Bardziej szczegółowo

Formularze w programie Word

Formularze w programie Word Formularze w programie Word Formularz to dokument o określonej strukturze, zawierający puste pola do wypełnienia, czyli pola formularza, w których wprowadza się informacje. Uzyskane informacje można następnie

Bardziej szczegółowo

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007 Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007 opracowanie: mgr Monika Pskit 1. Rozpoczęcie pracy z programem Microsoft PowerPoint 2007. 2. Umieszczanie tekstów i obrazów na slajdach.

Bardziej szczegółowo

System Obsługi Zleceń

System Obsługi Zleceń System Obsługi Zleceń Podręcznik Administratora Atinea Sp. z o.o., ul. Chmielna 5/7, 00-021 Warszawa NIP 521-35-01-160, REGON 141568323, KRS 0000315398 Kapitał zakładowy: 51.000,00zł www.atinea.pl wersja

Bardziej szczegółowo

Wikispaces materiały szkoleniowe

Wikispaces materiały szkoleniowe Wikispaces materiały szkoleniowe Wstęp Wikispaces jest ogólnie dostępnym narzędziem do tworzenia własnych stron internetowych. Zastosowanie stron internetowych tworzonych przy pomocy wikispaces to na przykład:

Bardziej szczegółowo

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11 INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 58 28-11-2002 Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11 Oprogramowanie wizualizacyjne InTouch 7.11, gromadzi informacje alarmowe

Bardziej szczegółowo