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

Podobne dokumenty
Tworzenie i obsługa graficznego interfejsu uŝytkownika

Programowanie obiektowe

Kontenery i komponenty graficzne

Java - interfejs graficzny

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

Przykładowe roz wiązanie:

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

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

Aplikacje w środowisku Java

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

Programowanie obiektowe

Operatory. Składnia. Typy proste. Znaki specjalne

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

Graphic User Interfaces pakiet Swing

Obsługa zdarzeń. Wykład 4

Java: interfejsy i klasy wewnętrzne

SWING. dr Jarosław Skaruz

Dokumentacja do API Javy.

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

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

Programowanie graficznych interfejsów użytkownika

Programowanie obiektowe

Kurs programowania. Wykład 5. Wojciech Macyna. 31 marzec 2016

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

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

package pakieta; import pakietb.b; package pakietb; public class B { B(){} public class A { private B b; A(B b) { this.b = b; } }

Programowanie zdarzeniowe

STWORZENIE PRZYKŁADOWEJ

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

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Metody Metody, parametry, zwracanie wartości

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

Aplikacje w środowisku Java

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

Programowanie obiektowe

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

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

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

7 Pewne uzupełnienia Przepływ sterowania Układacze... 6

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

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

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

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

Materiały do laboratorium I

Przykładowe roz wiązanie:

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

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

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

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

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

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

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

Java Platform Micro Edition

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Bartosz Jachnik - Kino

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

public enum Environment { Development("Deweloperskie"), Test("Testowe"), Production("Produkcyjne"); private String name;

Leszek Stasiak Zastosowanie technologii LINQ w

Podstawy Programowania

Bezpieczne uruchamianie apletów wg

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Klasy i obiekty cz II

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Aplikacje WWW - laboratorium

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

Ćwiczenia 9 - Swing - część 1

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

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

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

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

0.1 Hierarchia klas Diagram Krótkie wyjaśnienie

Tworzenie elementów graficznych

Programowanie obiektowe

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Programowanie obiektowe

Scenariusz Lekcji. Część organizacyjna:

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Enkapsulacja, dziedziczenie, polimorfizm

Zaawansowane aplikacje WWW - laboratorium

PARADYGMATY PROGRAMOWANIA Wykład 4

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm. dr Jarosław Skaruz

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

Programowanie Obiektowe GUI

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Programowanie wielowarstwowe i komponentowe

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

Wykład 7: Pakiety i Interfejsy

Systemy operacyjne na platformach mobilnych

Przypomnienie o klasach i obiektach

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Nazwa implementacji: Kółko i krzyżyk w Lazarusie. Autor: Piotr Fiorek Andrzej Stefaniuk

Programowanie obiektowe

Transkrypt:

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 okno1(); 1.2 Zdarzenia związane z oknem obsługuje specjalny obiekt anonimowy 1.2.1 zamykanie 1.2.2 fokus 1.2.3 minimalizacja 1.3 Strumień informacji o błędach 1.4 Jakie obiekty można umieszczać w oknie/formularzu 1.4.1 Guziki (Button) 1.4.2 Pola opcji (CheckBox) 1.4.3 Tekst (Label) 1.4.4 Pole edycji (TextField) 1.5 Jak można pozycjonować obiekty w oknie 1.5.1 Ręcznie 1.5.2 Przy pomocy układu (Layout) 2 Elementy okienek 2.1 Dodajmy układ formularza GridLayout oraz najprostsze elementy czyli Buttons

2.2 Kod: public class okno1a extends Frame public okno1a() ); setlayout(new GridLayout(2,2)); Button b = new Button("A"); add(b); add(new Button("B")); okno1a o = new okno1a(); 2.3 Dodajmy samodzielnie więcej guzików 2.4 Border layout oraz inne typowe elementy formularzy: public class okno1b extends Frame public okno1b() ); setlayout(new BorderLayout()); add(new Button("A"),BorderLayout.CENTER); add(new TextField(),BorderLayout.NORTH); add(new Label("Tylko tekst"),borderlayout.south);

okno1b o = new okno1b(); 2.5 Flow layout oraz jak można reagować na zdarzenia (wciśnięcie guzika): public class okno1c extends Frame implements ActionListener public okno1c() ); setlayout(new FlowLayout()); Button b = new Button(); b.addactionlistener(this); add(b); public void actionperformed(actionevent e) Button b = (Button)e.getSource(); Button c = new Button(); c.addactionlistener(this); add(c); validate(); okno1c o = new okno1c();

3 Prosta gra logiczna: 3.1 Kod: public class okno2 extends Frame public okno2() ); setlayout(new GridLayout(8,8)); for (int j=0; j<8; j++) add(new Button(i+","+j)); okno2 o = new okno2(); 3.2 Automatyczne konwersje int->string dostępne są dopiero od wersji 1.5 (5.0) 3.3 Nazwa okienka, sposób przekazania informacji do klasy bazowej. 3.4 Jak można reagować na naciśnięcia przycisku - (ActionListener) 3.5 Kod: public class okno3 extends Frame implements ActionListener public okno3()

); setlayout(new GridLayout(8,8)); for (int j=0; j<8; j++) Button b = new Button(i+","+j); b.addactionlistener(this); add(b); public void actionperformed(actionevent e) System.out.println(e.getActionCommand()); Button b = (Button)e.getSource(); b.setlabel("!"); okno3 o = new okno3(); 3.6 Konsola tekstowa to wygodne narzędzie analizy programu, nawet okienkowego. 3.7 Jak zorganizować interakcję między przyciskami 3.8 Kod: public class okno4 extends Frame implements ActionListener private Button[][] przyciski = new Button[8][8]; public okno4() ); setlayout(new GridLayout(8,8)); for (int j=0; j<8; j++) przyciski[i][j] = new Button("0"); przyciski[i][j].setactioncommand(new Integer(i*8+ j).tostring());

przyciski[i][j].addactionlistener(this); add(przyciski[i][j]); public void actionperformed(actionevent e) Integer poz = new Integer(e.getActionCommand()); int i = poz/8 ; int j = poz%8 ; for(int k = i-1;k<=i+1;k++) if(k>=8 k<0)continue; if(przyciski[k][j].getlabel()=="0")przyciski[k][j].setlabel("1"); else przyciski[k][j].setlabel("0"); if(j-1>=0) if(przyciski[i][j-1].getlabel()=="0")przyciski[i][j-1].setlabel("1"); else przyciski[i][j-1].setlabel("0"); if(j+1<8) if(przyciski[i][j+1].getlabel()=="0")przyciski[i][j+1].setlabel("1"); else przyciski[i][j+1].setlabel("0"); for (i=0; i<8; i++) for (j=0; j<8; j++) if(przyciski[i][j].getlabel()=="0") return; settitle("koniec gry"); okno4 o = new okno4(); 3.9 Pola klas można inicjować w miejscu deklaracji 3.10 Zmiana polecenia związanego z przyciskiem 3.11 Konwersje z i na String 3.12 Dodajmy menu pozwalające wyzerować planszę oraz zakończyć grę: public class okno5 extends Frame implements ActionListener private Button[][] przyciski = new Button[8][8]; public okno5()

); setlayout(new GridLayout(8,8)); for (int j=0; j<8; j++) przyciski[i][j] = new Button("0"); przyciski[i][j].setactioncommand(new Integer(i*8+j).toString()); przyciski[i][j].addactionlistener(this); add(przyciski[i][j]); MenuBar mb = new MenuBar(); Menu b = new Menu("Gra"); b.add(new MenuItem("Zerowanie")); b.add(new MenuItem("Zakoncz")); b.addactionlistener(this); mb.add(b); setmenubar(mb); public void actionperformed(actionevent e) if(e.getactioncommand()=="zerowanie") for (int j=0; j<8; j++) przyciski[i][j].setlabel("0"); else if(e.getactioncommand()=="zakoncz") else Integer poz = new Integer(e.getActionCommand()); int i = poz/8 ; int j = poz%8 ; for(int k = i-1;k<=i+1;k++) if(k>=8 k<0)continue; if(przyciski[k][j].getlabel()=="0")przyciski[k][j].setlabel("1"); else przyciski[k][j].setlabel("0"); if(j-1>=0) if(przyciski[i][j-1].getlabel()=="0")przyciski[i][j-1].setlabel("1"); else przyciski[i][j-1].setlabel("0"); if(j+1<8) if(przyciski[i][j+1].getlabel()=="0")przyciski[i][j+1].setlabel("1"); else przyciski[i][j+1].setlabel("0"); for (i=0; i<8; i++) for (j=0; j<8; j++) if(przyciski[i][j].getlabel()=="0") return; settitle("koniec gry"); okno5 o = new okno5();

3.13 Sposób konstrukcji menu 3.14 Obsługa zdarzeń ActionCommand