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



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

Programowanie graficznych interfejsów użytkownika

Scenariusz Lekcji. Część organizacyjna:

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

Tworzenie i obsługa graficznego interfejsu uŝytkownika

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

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

Kontenery i komponenty graficzne

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

Aplikacja wielow tkowa prosty komunikator

Programowanie współbieżne Laboratorium nr 11

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

Aplikacja wielowątkowa prosty komunikator

Java - interfejs graficzny

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Java jako zdalny interfejs aplikacji Webowych aplety

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

Podstawy Języka Java

Programowanie obiektowe

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

Tworzenie elementów graficznych

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

Swing ćwiczenia 2 opis

0.1 Hierarchia klas Diagram Krótkie wyjaśnienie

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

Interfejs graczny w Javie.

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

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

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

Podstawy i języki programowania

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

Java Platform Micro Edition

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

Rysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit)

Operatory. Składnia. Typy proste. Znaki specjalne

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

1 Intefejsy graczne. 1.1 Okienka. 1.2 Komponenty

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

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

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

SWING. dr Jarosław Skaruz

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

Programowanie zdarzeniowe

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

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java

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

Programowanie w języku Java

Programowanie rozproszone w języku Java

Java Foundation Clases. Tworzenie graficznych interfejsów użytkownika (GUI) w Javie

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

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

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

Kurs programowania. Wykład 9. Wojciech Macyna

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

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Przetwarzanie równoległe i współbieżne

Java biblioteka Swing

Multimedia JAVA. Historia

Programowanie obiektowe

Programowanie obiektowe

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Przypomnienie o klasach i obiektach

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

Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017

Programowanie obiektowe

Programowanie obiektowe

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Programowanie w języku Java

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

Java. Programowanie Obiektowe Mateusz Cicheński

Systemy Rozproszone - Ćwiczenie 6

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Wątki (Threads) Potrzeby. Przetwarzanie równoległe i współbieŝne. Cechy programowania wątkowego. Concurrent programming is like

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

1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Java: interfejsy i klasy wewnętrzne

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

Iteracyjno-rozwojowy cykl oprogramowania 4

WSPÓŁBIEŻNOŚĆ. MATERIAŁY:

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

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

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

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Programowanie obiektowe

Dokumentacja do API Javy.

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Wzorzec projektowy Obserwator idiomatyczne rozwiązanie

Programowanie obiektowe

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

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

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie obiektowe

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

Zaawansowane aplikacje WWW - laboratorium

Transkrypt:

Wykład 5 31 marzec 2016

Klasa java.awt.panel Klasa Panel jest równocześnie komponentem (czyli może być wstawiana tam gdzie i inne komponenty) i kontenerem (można do niej wstawiać inne komponenty). Panel służy również często do rysowania wtedy warto aby być podwójnie buforowany (wtedy działa dużo szybciej). Główne konstruktory public Panel() public Panel(LayoutManager m) public JPanel(boolean isdoublebuffered) Główne metody Pojawia się w trakcie następnego wykładu.

Klasa java.awt.dialog Główne konstruktory public Dialog(Frame owner, String title, boolean modal) modal wskazuje czy okienko dialogowe ma blokować okno główne. Główne metody public void setvisible(boolean v)

Przykład dialogdemo.java 1 import java. awt.*; 2 import java. awt. event.*; 3 class dialogdemowindowadapter extends WindowAdapter { 4 public void windowclosing ( WindowEvent e) { System. exit (0); } } 5 public class dialogdemo extends Frame implements ActionListener { 6 private Dialog mydialog ; 7 private Button myframebutton, mydialogbutton ; 8 public dialogdemo () { 9 myframebutton = new Button (" Dialog " ); 10 myframebutton. addactionlistener ( this ); 11 mydialogbutton = new Button (" OK " ); 12 mydialogbutton. addactionlistener ( this ); 13 mydialog = new Dialog ( this, " Dialog Window ", true ); 14 mydialog. setsize (320,240); 15 mydialog. add ( mydialogbutton ); 16 add ( myframebutton ); 17 addwindowlistener ( new dialogdemowindowadapter ()); } 18 public void actionperformed ( ActionEvent e) { 19 if ( e. getactioncommand (). equals (" OK ") ) mydialog. setvisible ( false ); 20 else mydialog. setvisible ( true ); } 21 public static void main ( String [] args ) { 22 Frame f = new dialogdemo (); 23 f. setbounds (100,100,640,480); 24 f. setvisible ( true ); } 25 }

Klasy java.awt.menubar, java.awt.menu i java.awt.menuitem java.awt.menubar public MenuBar() - konstruktor public Menu add(menu m) - dodanie menu Dodanie do Frame przez metodę setmenubar(menubar mb) java.awt.menu extends MenuItem public Menu(String label) - konstruktor public Menu add(menuitem m) - dodanie wpisu/menu public void addseparator() - dodanie linii separatora java.awt.menuitem public MenuItem(String label) - konstruktor public void addactionlistener(actionlistener l) - dodanie słuchacza public String getactioncommand() - podanie etykiety

Przykład menudemo.java (1/2) 1 import java. awt.*; 2 import java. awt. event.*; 3 class menudemowindowadapter extends WindowAdapter { 4 public void windowclosing ( WindowEvent e) { System. exit (0); } 5 } 6 public class menudemo extends Frame implements ActionListener { 7 private Label mylabel ; 8 private MenuBar mymenu ; 9 private Menu menu1, menu2, submenu ; 10 private MenuItem i1, i2, i3, i4, i5, exit ; 11 12 public void actionperformed ( ActionEvent e) { 13 if ( e. getactioncommand (). equals (" Exit ") ) System. exit (0); 14 else mylabel. settext (" Wybrano "+e. getactioncommand ()); 15 } 16 public static void main ( String [] args ) { 17 Frame f = new menudemo (); 18 f. setbounds (100,100,640,480); 19 f. setvisible ( true ); 20 }

Przykład menudemo.java (2/2) 21 public menudemo () { 22 mylabel = new Label (" Start ", Label. CENTER ); 23 mymenu = new MenuBar (); 24 menu1 = new Menu (" Menu 1" ); 25 menu2 = new Menu (" Menu 2" ); 26 mymenu. add ( menu1 ); 27 mymenu. add ( menu2 ); 28 submenu = new Menu (" Podmenu " ); 29 menu1. add ( submenu ); 30 menu1. addseparator (); 31 i1 = new MenuItem (" Akcja 1" ); i1. addactionlistener ( this ); 32 i2 = new MenuItem (" Akcja 2" ); i2. addactionlistener ( this ); 33 i3 = new MenuItem (" Akcja 3" ); i3. addactionlistener ( this ); 34 i4 = new MenuItem (" Akcja 4" ); i4. addactionlistener ( this ); 35 i5 = new MenuItem (" Akcja 5" ); i5. addactionlistener ( this ); 36 exit = new MenuItem (" Exit " ); exit. addactionlistener ( this ); 37 submenu. add ( i1 ); 38 submenu. add ( i2 ); 39 submenu. add ( i3 ); 40 menu1. add ( exit ); 41 menu2. add ( i4 ); 42 menu2. add ( i5 ); 43 setlayout ( new GridLayout (1,1)); 44 setmenubar ( mymenu ); 45 add ( mylabel ); 46 addwindowlistener ( new menudemowindowadapter ()); 47 } 48 }

Klasa java.awt.checkbox Główne konstruktory public Checkbox() public Checkbox(String label) public Checkbox(String label, boolean selected) Główne metody public void setstate(boolean state) public boolean getstate()

Klasa java.awt.textarea Główne konstruktory public TextArea() public TextArea(int rows, int columns) public TextArea(String label) public TextArea(String label, int rows, int columns) Główne metody public void append(string str) public String gettext() public void settext(string str) public int getcolumns() i public int getrows()

Inne komponenty Opis pozostałych komponentów graficznych można znaleźć w dokumentacji Javy.

Procesy zewnętrzne Uruchamianie procesu zewnętrznego Metoda public Process exec(string command) throws IOException umożliwia wykonywanie procesu zewnętrznego. Obiekt Process - główne metody void destroy() InputStream geterrorstream() InputStream getinputstream() OutputStream getoutputstream() Szczegółowe informacje o strumieniach na następnych wykładach.

Przykład ExecDemo.java 1 import java. io.*; 2 3 public class ExecDemo { 4 public static void main ( String [] args ) { 5 try { 6 Process child = 7 Runtime. getruntime (). exec (" cmd /c dir *. java " ); 8 InputStream in = child. getinputstream (); 9 int c; 10 while (( c = in. read ())!= -1) 11 System. out. print (( char )c ); 12 in. close (); 13 } 14 catch ( IOException e) { } 15 } 16 }

Przykład z GUI Program.java (1/2) 1 import java. awt.*; 2 import java. awt. event.*; 3 import java. io.*; 4 class MyWindowAdapter extends WindowAdapter { 5 public void windowclosing ( WindowEvent e) { System. exit (0); } 6 } 7 class MyButtonAdapter implements ActionListener { 8 Program p; 9 MyButtonAdapter ( Program p) { this.p = p; } 10 public void actionperformed ( ActionEvent e) { p. action (); } 11 } 12 class MyButton extends Button { 13 MyButton ( Program p) { 14 super (" Wykonaj " ); addactionlistener ( new MyButtonAdapter (p )); } 15 } 16 class MyFrame extends Frame { 17 MyFrame ( Program p) { 18 super (" Program " ); 19 setbounds (100,100,640,480); 20 addwindowlistener ( new MyWindowAdapter ()); 21 setfont ( new Font ( Font. SANS_SERIF, Font. PLAIN,20)); 22 setlayout ( new BorderLayout ()); 23 MyButton akcja = new MyButton (p ); add (p. dane, BorderLayout. NORTH ); 24 p. wynik = new TextArea (25,80); add ( akcja, BorderLayout. SOUTH ); 25 p. dane = new TextField (80); add (p. wynik, BorderLayout. CENTER ); 26 setresizable ( false ); 27 } 28 }

Przykład z GUI Program.java (1/2) 29 public class Program { 30 MyFrame frame ; 31 TextArea wynik ; 32 TextField dane ; 33 void action () { 34 try { 35 Process child = Runtime. getruntime (). exec ( dane. gettext () ); 36 BufferedReader in = new BufferedReader ( 37 new InputStreamReader ( child. getinputstream ())); 38 String c; 39 wynik. settext ("" ); 40 while (( c = in. readline ())!= null ) wynik. append (c+"\n" ); 41 in. close (); 42 } 43 catch ( IOException e) { 44 wynik. settext (e. getmessage ()); 45 } 46 catch ( IllegalArgumentException e) { 47 wynik. settext (e. getmessage ()); 48 } 49 dane. settext ("" ); 50 } 51 public static void main ( String [] args ) { 52 Program p = new Program (); 53 p. frame = new MyFrame (p ); 54 p. frame. setvisible ( true ); 55 } 56 }