Przykładowe roz wiązanie:

Podobne dokumenty
Przykładowe roz wiązanie:

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

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

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

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

Kontenery i komponenty graficzne

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

Tworzenie i obsługa graficznego interfejsu uŝytkownika

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

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

Programowanie graficznych interfejsów użytkownika

Programowanie zdarzeniowe

Programowanie obiektowe

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

Graphic User Interfaces pakiet Swing

Java - interfejs graficzny

Tworzenie elementów graficznych

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

Android pierwsza aplikacja

Aplikacja wielowątkowa prosty komunikator

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

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

Programowanie 3 - Funkcje, pliki i klasy

SWING. dr Jarosław Skaruz

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

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

Aplikacje w środowisku Java

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

Iteracyjno-rozwojowy cykl oprogramowania 4

Programowanie komponentowe

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

Aplikacja wielow tkowa prosty komunikator

Laboratorium z informatyki sem.iii/ćw. 4 Wydział Transportu PW /19

Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwa klienta: Interfejs graficzny użytkownika

JAVA W SUPER EXPRESOWEJ PIGUŁCE

setdefaultcloseoperation(jframe.exit_on_close);//obsługa zamykania aplikacji setvisible(true); } //wyświetlenie okna

Obsługa zdarzeń. Wykład 4

Programowanie wielowarstwowe i komponentowe

Podstawy i języki programowania

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

Wykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4

Programowanie w języku Java

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

Zdarzenia Zdarzenia onload i onunload

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Aplikacje w środowisku Java

Java: interfejsy i klasy wewnętrzne

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Aplikacje w środowisku Java

PROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH

STWORZENIE PRZYKŁADOWEJ

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

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Programowanie zdarzeniowe

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

Podstawy obiektowości

Bartosz Jachnik - Kino

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

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie w języku Java

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

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

Programowanie obiektowe

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

Jakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97,

Klasy i obiekty cz II

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

NOWY SZABLON IMPORTU PLIKÓW

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

Dokumentacja do API Javy.

Java Platform Micro Edition

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016

Algorytmy i struktury danych

Języki programowania imperatywnego

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

W powyższym kodzie utworzono wyliczenie dni tygodnia.

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

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

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

Programowanie obiektowe

Wyznaczanie klas dziedziczonych w Javie. Aleksander Nałęczyński

Strumienie, pliki. Sortowanie. Wyjątki.

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Przykład integracji kalkulatora mbank RATY na platformie IAI

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

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

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

Programowanie Obiektowe Ćwiczenie 4

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(PROZ) Projekt własny - gra SUDOKU Dokumentacja końcowa

NOWY SZABLON IMPORTU PLIKÓW

Platformy Programistyczne Podstawy języka Java

Microsoft IT Academy kurs programowania

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Zaawansowane aplikacje WWW - laboratorium

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

Transkrypt:

Napisz program (JApplet), który zawiera pole tekstowe (JTextField) oraz przycisk (JButton). Każde wciśnięcie przycisku wydłuża napis w polu tekstowym o pewien znak (indeks). Wciśnięcia przycisku obsługiwane przez specjalizowanego słuchacza akcji (klasa wewnętrzna). public class Dodaj_Indeks extends JApplet{ JTextField wynik = new JTextField(10); // koniec init // koniec konstruktora Sluchacz_przycisk // koniec Sluchacz_przycisk // koniec calc Przykładowe roz wiązanie: JTextField wynik = new JTextField(" "); // koniec init // koniec konstruktora Sluchacz_przycisk // koniec Sluchacz_przycisk // koniec calc

Rozszerz program do wersji: jednodziałaniowy dwucyfrowy kalkulator. Przycisk działania (np. mnożenie) i wyświetlania wyniku obsługiwane przez klasy wewnętrzne. public class Calc_Dwucyfrowy extends JApplet{ JTextField wynik = new JTextField(" "); add(przyc2); add(mnozenie); add(rownasie); // koniec init // koniec konstruktora Sluchacz_przycisk // koniec Sluchacz_przycisk // koniec Sluchacz_dzialanie class Sluchacz_rownasie implements ActionListener{ koniec Sluchacz_dzialanie // koniec calc Przykładowe rozwiązanie:

JTextField wynik = new JTextField(10); add(przyc2); add(mnozenie); add(rownasie); mnozenie.addactionlistener(new Sluchacz_dzialanie()); rownasie.addactionlistener(new Sluchacz_rownasie()); // koniec init // koniec konstruktora Sluchacz_przycisk // koniec Sluchacz_przycisk liczba=integer.parseint(s); // koniec Sluchacz_dzialanie class Sluchacz_rownasie implements ActionListener{ liczba=liczba*integer.parseint(s); wynik.settext("wynik= "+liczba); // koniec Sluchacz_dzialanie // koniec calc Dodaj przyciski dalszych cyfr, działań i przycisk.

JButton przyc3= new JButton("3"); JButton dodawanie = new JButton("+"); JTextField wynik = new JTextField(10); int dzialanie; // * = 1, + = 2 add(przyc2); add(przyc3); add(mnozenie); add(dodawanie); add(rownasie); przyc3.addactionlistener(new Sluchacz_przycisk(3)); mnozenie.addactionlistener(new Sluchacz_dzialanie()); dodawanie.addactionlistener(new Sluchacz_dzialanie()); rownasie.addactionlistener(new Sluchacz_rownasie()); // koniec init // koniec konstruktora Sluchacz_przycisk // koniec Sluchacz_przycisk liczba=integer.parseint(s); if(e.getsource()==mnozenie){wynik.settext(s+"*"); dzialanie=1; else {wynik.settext(s+"+"); dzialanie=2; // koniec Sluchacz_dzialanie class Sluchacz_rownasie implements ActionListener{ if (dzialanie==1){liczba=liczba*integer.parseint(s); else {liczba=liczba+integer.parseint(s); wynik.settext("wynik= "+liczba); // koniec Sluchacz_dzialanie // koniec calc

Przyciski umieść w panelach. Dodaj przycisk kasowania. Przyciski kasowania i znaku równości można obsłużyć poprzez anonimowe klasy wewnętrzne. kasowanie.addactionlistener(new ActionListener(){ //TODO ); JPanel cyfry = new JPanel(); cyfry.setlayout(new GridLayout(3,2)); cyfry. substring Rozwiązanie: JButton przyc3= new JButton("3"); JButton przyc4= new JButton("4"); JButton przyc5= new JButton("5"); JButton dodawanie = new JButton("+"); JButton kasowanie = new JButton("del."); JTextField wynik = new JTextField(15); int dzialanie; // * = 1, + = 2 wynik.settext("0"); JPanel cyfry = new JPanel(); cyfry.setlayout(new GridLayout(3,2)); JPanel funkcyjne = new JPanel(); funkcyjne.setlayout(new GridLayout(3,1)); cyfry. cyfry.add(przyc2); cyfry.add(przyc3); cyfry.add(przyc4); cyfry.add(przyc5); cyfry.add(kasowanie); add(cyfry);

funkcyjne.add(mnozenie); funkcyjne.add(dodawanie); funkcyjne.add(rownasie); add(funkcyjne); przyc3.addactionlistener(new Sluchacz_przycisk(3)); przyc4.addactionlistener(new Sluchacz_przycisk(4)); przyc5.addactionlistener(new Sluchacz_przycisk(5)); kasowanie.addactionlistener(new ActionListener(){ s = s.substring(0, s.length() - 1); ); mnozenie.addactionlistener(new Sluchacz_dzialanie()); dodawanie.addactionlistener(new Sluchacz_dzialanie()); rownasie.addactionlistener(new ActionListener(){ String dz; int pierwsza_liczba=liczba; int druga_liczba=integer.parseint(s); if (dzialanie==1){liczba=liczba*druga_liczba; dz="*"; else {liczba=liczba+druga_liczba;dz="+"; wynik.settext(pierwsza_liczba+dz+druga_liczba+"="+liczba); ); // koniec init // koniec konstruktora Sluchacz_przycisk // koniec Sluchacz_przycisk liczba=integer.parseint(s); if(e.getsource()==mnozenie){wynik.settext(s+"*"); dzialanie=1; else {wynik.settext(s+"+"); dzialanie=2; // koniec Sluchacz_dzialanie // koniec calc Dołóż kropkę dziesiętną i działania na liczbach zmiennoprzecinkowych.