jlabel: void setalignment(label.center/left/right) - wyrównanie String gettext() pobiera aktualny tekst napisu void settext(string text) ustawia

Podobne dokumenty
Kolekcja (kontener) to po prostu obiekt, który grupuje wiele elementów w jeden twór.

Kolekcje. Na podstawie:

Kolekcje mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Anty-przykład, czyli jak zrazić użytkownika już na starcie

Programowanie w języku Java. Kolekcje

Realizacja ekstensji klasy. Paulina Strzelecka, Tomasz Roszkowski

Programowanie Obiektowe (Java)

Kolekcje - pakiet Java Collections Framework

Programowanie obiektowe

Java niezbędnik programisty spotkanie nr 8. Kolekcje c.d.

KOLEKCJE JAVY API: NAJPROSTSZE PODSTAWY

Kolekcje - pakiet Java Collections Framework

Programowanie i projektowanie obiektowe

Java Collections Framework

java.util.* :Kolekcje Tomasz Borzyszkowski

Kolekcje w języku Java

Tworzenie aplikacji w języku Java

GUI - projektowanie interfejsów cz. II

Podstawy otwartych języków programowania Przechowywanie danych

Programowanie w Javie- wykład 11 Kolekcje (listy)

Java SE Laboratorium nr 7. Temat: Kolekcje

Wydział Fizyki i Informatyki Stosowanej, Uniwersytetu Łódzkiego Łódź. Java podstawy języka, wykład 4 1

Dawid Gierszewski Adam Hanasko

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Kurs programowania. Wykład 9. Wojciech Macyna

Programowanie aplikacji mobilnych

Kompletna dokumentacja kontenera C++ vector w -

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

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

Kolekcje w Javie cz. 1

Kolekcje obiektów. Wyj tki.

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Struktury Danych i Złożoność Obliczeniowa

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

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

Lista, Stos, Kolejka, Tablica Asocjacyjna

Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43

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

Kolekcje. object that groups multiple elements into a single unit

Programowanie w C++ Wykład 7. Katarzyna Grzelak. 23 kwietnia K.Grzelak (Wykład 7) Programowanie w C++ 1 / 40

Comparable<Klasa_uzytkownika>

Algorytmy sortujące i wyszukujące

Zaawansowane programowanie w języku C++ Biblioteka standardowa

Programowanie obiektowe i język Java

Języki i Techniki Programowania II. Wykład 4. Kolekcje

Informatyka II. Laboratorium Aplikacja okienkowa

Kontenery i iteratory. Wykorzystanie kontenerów w praktyce.

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

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Java klasy kolekcji dr inż. Paweł Skrzyński, Java - kolekcje, 2010/2011


Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

STL Standardt Template Library (wprowadzenie)

Programowanie Obiektowe GUI

import java.util.*; public class ListExample { public static void main(string args[]) { List<String> lista1= new ArrayList<String> ();

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

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

Podstawowe elementy GUI cz. 2 i 3 - zadania

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

Instrukcja laboratoryjna cz.3

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

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

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Aplikacje w środowisku Java

STL: Lekcja 1&2. Filozofia STL

Algorytmy i Struktury Danych. Anna Paszyńska

Programowanie obiektowe

Klasy i obiekty cz II

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

Wstęp do programowania

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

Ćwiczenie 25 Działania matematyczne we Flashu

Programowanie Komponentowe Zarządzanie obiektami: kontenery

Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

MAS dr. Inż. Mariusz Trzaska. Wykład 3. Wybrane konstrukcje obiektowych języków programowania (2)

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

W przypadku STL w specyfikacji nazwy pliku nagłówkowego brak rozszerzenia tj. <string> <string.h> zamiast

Języki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników

Programowanie komputerowe. Zajęcia 5

WYJĄTKI, KOLEKCJE ZAGADNIENIA: 1. Wyjątki, 2. Kolekcje, vector, hashtable, properties, Klasy Arrays i Collections.

Programowanie i struktury danych

Języki programowania imperatywnego

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

Kontenery i komponenty graficzne

Programowanie zdarzeniowe

WSTĘP DO INFORMATYKI. Struktury liniowe

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Wykład 3 Składnia języka C# (cz. 2)

Programowanie Obiektowe Java

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Podstawy obiektowości

Programowanie w Javie - wykład 13 Kolekcje c.d. ( mapy)

Struktury danych (I): kolejka, stos itp.

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

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Transkrypt:

GUI / Kolekcje

jlabel: void setalignment(label.center/left/right) - wyrównanie String gettext() pobiera aktualny tekst napisu void settext(string text) ustawia tekst napisu void setdisplayedmnemonic(char achar) - ustawia skrót klawiszowy void setlabelfor(component c) ustawia do czego odnosi się label

jradiobutton boolean isselected() czy wybrany void setselected(boolean select) wybierz na sztywno add(buttongroup grupa) dodaj do grupy przycisków (aby można było wybrać jeden) settext(), gettext() ustawienie / odczyt tekstu jcombobox boolean isselected() czy został wybrany void setselected(boolean ustaw) zaznacz lub odznacz

jtextarea void append(string str) dopisz tekst do istniejącego int getlinecount() ile linii tekstu jest w polu void setfont(font f) ustaw czcionkę setlinewrap(boolean linewrap) ustawia, czy linie będą łamane, czy nie settext(), gettext() ustawienie / odczyt tekstu

jcheckbox void additem(object anobject) dodaje element do listy Object getitemat(int idx) zwraca obiekt o indeksie idx (użycie to np. String napis = combobox.getitemat(0).tostring() ) int getitemcount() zlicza ilość opcji Object getselecteditem() zwraca element, który jest wybrany void hidepopup() chowa wyskakujące okienko pola wyboru void removeitem(object anobject) usuwa element (także inne wariacje: removeitemat(int idx), removeallitems() )

1.Zaimportować javax.swing.joptionpane; 2.Dodać zdarzenie onmouseclick() do przycisku Wyskocz. 3.Wewnątrz napisać: JOptionPane.showMessageDialog(this,"Co mnie tu wyskoczyło?!");

1. Napisz program, który będzie pytał Cię o imię, a następnie po kliknięciu na przycisk witał Cię z jego użyciem. 2. Napisz program kalkulator: użytkownik ma dwa pola, w którym wprowadza liczby oraz kilka pół jednokrotnego wyboru (radiobutton) określających działanie. 3. Napisz program, w którym przycisk ucieka użytkownikowi spod kliknięcia 4. Zaimplementuj algorytm Luhna do weryfikacji numerów PESEL. Zadbaj o poprawny wygląd aplikacji. Dopisuj poprawne numery PESEL wprowadzane przez użytkownika w polu tekstowym do pliku tekstowego.

Kolekcja (kontener) to po prostu obiekt, który grupuje wiele elementów w jeden twór. Pozwala na zapis, odczyt, korzystanie z danych oraz ich wzajemną komunikację. Przykład: ręka pokerowa (kolekcja kart), skrzynka odbiorcza (kolekcja maili), książka telefoniczna (słownik nazwisko-numer)

Mniejszy koszt Zwiększa jakość i szybkość działania Łatwiejsze wzajemne oddziaływanie Jak jest potrzebna lista/stos/kolejka, to po co ją programować od zera? Lepiej skoncentrować się na ważnych elementach! Stworzona kolekcja jest zoptymalizowana. Więcej: istnieją różne implementacje tej samej kolekcji (np. dla listy: ArrayList oraz LinkedLista) zoptymalizowane pod konkretne zastosowania. Kolekcje mają zdefiniowane standardowe podejścia. Łatwiej się nauczyć jednego API Łatwiej zaprojektować API Większość z modyfikatorów jest zgodna pomiędzy różnymi rodzajami kolekcji. Przejście z jednego rodzaju na drugi jest bezbolesne. Po co wynajdować koło od nowa skoro można użyć standardowych rozwiązań? Łatwiej o re-use kodu Kolekcje z natury są łatwe do ponownego wykorzystania

Operacje podstawowe wykonywane na obiektach boolean add(object obj) boolean remove(object obj) boolean contains(object obj) Operacje grupowe wykonywane na kolekcjach obiektów boolean addall(collection coll) boolean removeall(collection coll) boolean containsall(collection coll) boolean retainall(collection coll) void clear()

Inspekcja int size() boolean isempty(object obj) Iteracja Iterator iterator() Operacje na tablicach konwersja do tablic Object[] toarray() Object[] toarray(object[] type)

Duplikaty możliwe Dostęp sekwencyjny Przykłady: ArrayList, LinkedList, Vector, Stack Ala ma kota i czipsy 0 1 2 3 4

Ala ma kota i czipsy 0 1 2 3 4 Dostęp pozycyjny do elementów Wyszukiwanie Widok przedziałowy Object get(int indeks) Object set(int indeks) Object add(int indeks) Object remove(int indeks) int indexof(object obiekt) int lastindexof(object obiekt) List sublist(int poczatek, int koniec)

Taka zwykła kolejka (LIFO, FIFO, priorytetowa) Dodawanie elementu Usuwanie elementu Inspekcja boolean offer(object obiekt) Object remove() Object poll() Object element() Object peek()

Reprezentacja zbioru matematycznego Brak uporządkowania elementów Dostęp sekwencyjny niezalecany Brak duplikatów Ala psy ma brzydkie kota trzy oraz

Jednoznaczne odwzorowanie jak w słowniku Klucze, wartości i pary klucz-wartość dostępne jako obiekty Collection Ala Ola Kasia Kunegunda Kot Pies Jeżozwierz

Operacje podstawowe Object put(object klucz, Object wartosc) Object get(object klucz) Object remove(object klucz) boolean containskey(object klucz) boolean containsvalue(object wartosc) Operacje grupowe void putall(map zrodlo) widoki-kolekcje Set keyset() Collection values() Set entryset()

Swoiste wskaźniki Służą do sekwencyjnego przeglądania wszystkich obiektów w kolekcji

Metody statyczne klasy Collections implementują typowe algorytmy wykonywane na kolekcjach: wyszukiwanie binarne sortowanie operacje algebraiczne na zbiorach odwracanie list permutacje list wyszukiwanie elementów max/min

Aby móc sortować, trzeba wiedzieć który obiekt jest wcześniej, a który później. Matematyk by powiedział o relacji częściowego porządku. Intuicyjnie wiemy, że 3 > 2 Ale kto jest większy Ala czy Ola? Java Collections korzysta z dwóch interfejsów służących do porównywania obiektów java.lang.comparable java.util.comparator

compareto(object obj) zwraca: mniej niż 0 gdy jej parametr jest większy niż własny obiekt 0 gdy jej parametr jest równy własnemu obiektowi więcej niż 0 gdy jej parametr jest mniejszy niż własny obiekt

Kolekcje Tablice hashujące Implementacje ogólnego przeznaczenia Tablice dynamiczne Struktury drzewiaste Set HashSet TreeSet Listy List ArrayList LinkedList Queue Deque ArrayDeque LinkedList Map HashMap TreeMap Tablica hashująca + lista LinkedHash Set LinkedHash Map

1. Korzystając z kolekcji, wykonaj analizator częstości występowania znaków w pliku. Zadbaj o graficzną formę (główna forma z okienkiem, w którym wczytuje się zawartość tekstu, druga forma z analizą częstości, przyciski otwórz, zamknij, itp.) 2. Napisz prostą i szybką książkę adresową. Elementami będą obiekty klasy Person. Zaimplementuj interfejs sortujący. 3. Sprawdź eksperymentalnie co jest szybsze: ArrayLista czy LinkedList dla następujących operacji: 1. Wstawianie elementu na początek 2. Wstawianie elementu do środka 3. Wstawianie elementu na koniec 4. Usunięcie z początku 5. Usunięcie ze środka 6. Usunięcie z końca 7. Zwrócenie wartości pierwszego elementu 8. Zwrócenie wartości środkowego elementu 9. Zwrócenie wartości ostatniego elementu