programowanie w oparciu o platformę netbeans w praktyce



Podobne dokumenty
Aplikacje w środowisku Java

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Builder (budowniczy) Cel: Przykład:

Metody Metody, parametry, zwracanie wartości

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Aplikacje w środowisku VBA. Visual Basic for Aplications

Generatory. Michał R. Przybyłek

Zaawansowane programowanie w C++ (PCP)

Programowanie obiektowe

Programowanie Obiektowe GUI

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

Java jako język programowania

Programowanie obiektowe

Aplikacje RMI

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

Java: interfejsy i klasy wewnętrzne

[Android] Podstawy programowania

Wykład 8: klasy cz. 4

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

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

Programowanie obiektowe

Baza danych sql. 1. Wprowadzenie

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

NS-2. Krzysztof Rusek. 26 kwietnia 2010

Wykład 4. Klasa List Kolejki Stosy Słowniki

Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch

10. Programowanie obiektowe w PHP5

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Java Podstawy. Michał Bereta

Interfejsy i klasy wewnętrzne

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

Tworzenie własnych komponentów

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Klasy i obiekty cz II

Programowanie obiektowe

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

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

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

> C++ dziedziczenie. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

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

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

VBA praca z makrami w Excelu

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

PHP 5 język obiektowy

Graphic User Interfaces pakiet Swing

Wykład 5: Klasy cz. 3

problem w określonym kontekście siły istotę jego rozwiązania

Programowanie obiektowe i zdarzeniowe

Platformy Programistyczne Podstawy języka Java

Klasy abstrakcyjne, interfejsy i polimorfizm

Modelowanie obiektowe

Plik pobrano z Tytuł: Wzorce projektowe, cz. 2 Strategy Ostatnia aktualizacja:

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

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

C++ Przeładowanie operatorów i wzorce w klasach

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

Klasy abstrakcyjne i interfejsy

Delphi podstawy programowania. Środowisko Delphi

Programowanie obiektowe

JAX-RS czyli REST w Javie. Adam Kędziora

Systemy Rozproszone - Ćwiczenie 6

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

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

Enterprise JavaBeans (EJB)

Dokumentacja do API Javy.

Wzorce projektowe strukturalne cz. 1

Zaawansowane programowanie w C++ (PCP)

SKĄD WYWODZI SIĘ NAZWA PROGRAMU?

Laboratorium 8 Diagramy aktywności

Podstawy programowania obiektowego

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Instrukcja laboratoryjna nr.4

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Architektura interfejsu użytkownika


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

Aplikacje RMI Lab4

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Multimedia JAVA. Historia

Misja #1 Poznajemy Prophio.

Wykład 4: Klasy i Metody

Programowanie obiektowe

Zaawansowane programowanie w języku C++ Klasy w C++

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Leszek Stasiak Zastosowanie technologii LINQ w

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Transkrypt:

programowanie w oparciu o platformę netbeans w praktyce Adam Kędziora. Netbeans innovators grants. Mechanizm lookup jako panorama firm. Węzły w netbeans. Mechanizm lookup jako torba z narzędziami. Dwa slowa o kółkach i kwadratach. Gdzie stawiać pierwsze kroki a gdzie się uczyć.

Netbeans Innovators Grants Konkurs organizowany przez suna Każdy mógł uczestniczyć Proste zasady Wystawilismy 2 projekty Przeszedł projekt bardziej na czasie Niestety nie udało się skończyć na czas Jak bedziecie mieli okazje - startujcie

Netbeans Innovators Grants

Netbeans Innovators Grants

Mechanizm lookup jako panorama firm Piszemy generator kodu obiektów Nie wiemy jakie obiekty docelowo bedą Chcemy też by w razie czego mozna bylo generować kod w oparciu o bardziej ogólny generator Chcemy dać mozliwość tworzenia nowych obiektów jak i generatorów kodu Używamy globalnego lookup

Mechanizm lookup jako panorama firm Definiujemy interfejs Generator public interface Generator { public boolean cangenerate(object c); public void generate(stringbuilder sb,object o); } Potrzebujemy sprytnego sposobu by odszukać implementacje tego interfejsu samo utworzenie klas to przecież za mało!

Mechanizm lookup jako panorama firm Kod do wyszukiwania bedzie wyglądał tak: private static Lookup.Result<Generator> generators = Lookup.getDefault().lookupResult(Generator.class); public static void generatenext(object o){ for(generator g: generators.allinstances()){ if(g.cangenerate(o)){ g.generate(sb, o); return; } } throw new UnsupportedOperationException("There is no generator for this object"+o.class.getname()); } Widziecie już jak ładnie znajduje się konkretne generatory

Mechanizm lookup jako panorama firm Kicha, nie widzicie ;] Potrzebujemy nasze obiekty jakoś wrzucić do tego lookupa Netbeans zapewnia nam mechanizm rejestracji Tworzymy plik nazywający sie tak samo jak pełna nazwa klasy naszego interfejsu w katalogu META-INF/services w Jarze (lub folderze głównym builda) umieszczamy linia po linii pełne nazwy klas implementujacych ten interfejs Możemy dodać kolejność odpytywania!

Mechanizm lookup jako panorama firm Plik bedzie wyglądal mniej więcej tak: pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.circlegenerator #position=1 pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.framegenerator #position=4 pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.canvasgenerator #position=3 pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.ellipsegenerator #position=2 pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.rectanglegenerator #position=1 pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.polygongenerator #position=2 pl.edu.amu.wmi.kino.visualjavafx.javafxcodegenerators.object.groupgenerator #position=3

Mechanizm lookup jako panorama firm I bedzie mniej więcej tu :

Węzly w netbeans Węzły to warstwa prezentacji dla danych! Węzły nie są stałe tworzone są bardzo często Świetnie nadają się do obrazowania drzewiastych stróktur Łatwo tworzy się je z zwykłych JavaBeans Posiadają własny lookup

Węzły w netbeans Przyklad użycia:

Mechanizm lookup jako torba z narzędziami Załóżmy, ze mamy węzly jakiegoś typu Chcemy by mozna było czasem do nich dodawać jakąś funkcjonalność a czasem ją odejmować Nie możemy tego zrobić przez typy bo typ obiektu nie może zmienić sie w czasie Mozemy za to rozwiązac to przez mechanizm lookup

Mechanizm lookup jako torba z narzędziami Najprostszy pszykład: protected InstanceContent ic = new InstanceContent(); private Lookup lookup = new AbstractLookup(ic); Manipulujemy teraz zawartoscią poprzez ic.add(object o) ic.remove(object o)

Mechanizm lookup jako torba z narzędziami Przyklad użycia: Posiadamy zaznaczony węzeł zdarzenia przypisanego do kwadratu Ale na edytorze nie widnieje zdarzenie Odpytyjemy po kolei rodziców węzła o to, czy posiadają w lookup obiekt odpowiedzialny za rysowanie

Mechanizm lookup jako torba z narzędziami Przyklad z netbeansa: Mamy węzeł dokumentu Jeżeli zmienimy cokolwiek w dokumencie możemy go zapisać W tym momencie w lookup tego węzła pojawia się obiekt SaveCookie W ten sposób mozna pisac menu kontekstowe zależne od stanu obiektu

Dwa słowa o kółkach i kwadratach W zbiorze bibliotek które dostajemy w netbeans platform istnieje visual library Pozwala ona na tworzenie płótna na ktorym umieszczamy jakieś obiekty graficzne, następnie bez problemu mozemy umozliwić na przyklad przesuwanie ich czy zmiane rozmiaru Te obiety są również nazywane węzlami niestety poza nazwa nie mają nic wspólnego z węzłami z netbeans platform.

Dwa słowa o kółkach i kwadratach Pracując z visual library musimy pamietać o kilku rzeczach 1. nasze płótno ma własny uklad współżędnych 2. uklad ten nie jest zależny od tego jaki kawalek płótna oglądamy 3. przy liczbie powiązanych krawędziami obiektów przekraczającej 50 możemy sobie co najwyzej pomarzyć o sprawnym dzialaniu

Gdzie stawiać pierwsze kroki a gdzie się uczyć Pierwsze kroki: Najlepiej zacząć od przykładów i tutoriali ze strony netbeans platform: http://platform.netbeans.org/tutorials/index.html Jednak daleko się niestety na tychtutorialach nie zajdzie :(

Gdzie stawiać pierwsze kroki a gdzie się uczyć Książka Plugging into netbeans platform Znakomite źródło informacji o tym jak cała platforma działa W zasadzie jedyne opracowanie tego typu jakie udało mi sie znaleść Polecam wersję niemiecką jezeli ktoś nie ma problemow z tym jezykiem jest w niej opisane nieco więcej

Gdzie stawiać pierwsze kroki a gdzie się uczyć Javadoc Bardzo dobrze napisane przykaldy uzycia poszczególnych bibliotek Trzeba skorzystać z javadoc dostępnego w necie a nie tylko tego wpisanego w kod Korzystanie z visual library w nietrywialny sposób jest niewykonalne bez dokladnego studiowania dokumentów z javadoc!

Gdzie stawiać pierwsze kroki a gdzie sie uczyć Kod netbeans Warto ściągnąć źrodla na dysk i zarejestrowac je sobie w ide w menu tools>netbeans platforms w zakladce sources Gdy tylko bedziecie potrzebowali przykladu użycia lub kodu danej metody netbeans pozwoli wam nawigować w prosty sposob z menu kontekstowego