1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:

Slides:



Advertisements
Hasonló előadás
4. alkalom – Hálózat Kezelés
Advertisements

Osztály leszármaztatás
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 8. rész – Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki.
II. Grafikus felhasználói interfész
Programozás III GRAFIKUS FELÜLETEK.
Adatbányászati technikák (VISZM185)
Hibakezelés és Tesztelés a Visual Studio.NET-ben
Öröklődés 2..
HADOOP Korszerű Adatbázisok Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak:
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
© Kozsik Tamás Grafikus felhasználói felületek.
© Kozsik Tamás JavaBeans Nagyon divatos technológia Nem tévesztendő össze az Enterprise Java Beans technológiával Programozási konvenciók gyűjteménye.
© Kozsik Tamás Párhuzamosság A program egyszerre több mindent is csinálhat Lehetőségek: –Számítással egyidőben IO –Több processzor: számítások.
Szabó Tamás Károly G6HT12 A Ruby programozási nyelv.
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
1 Fejlett Programozási Technikák 2. 15/6. Fejlett Programozási Technológiák 2. 2 Közhírré tétetik Március 10.-én tól TIK I. Előadó MS RoadShow 
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
Fejlett Programozási Technikák 2.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Az objektum-orientált tervezési alapelvek kritikai vizsgálata
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Szmetankó Gábor Greencode Kft.
© Kozsik Tamás Kivételek A program végrehajtása során ritkán bekövetkező események Nem a „fő végrehajtási ág”; logikailag alacsonyabbrendű feladat.
Kivételkezelés.
Kivételkezelés a C++ nyelvben Bevezetés
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Programozási nyelvek összehasonlító elemzése

Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
A PHP 5 újdonságai Az OOP terén. Miről lesz szó? Osztályok kezelése – Új direktívák – Konstruktor – Destruktor Interfészek Kivételkezelés.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
Java programozási nyelv Filekezelés
Java programozási nyelv Metódusok
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Java programozási nyelv Adatbekérés konzolról
Programozás III SWING. SWING ALKALMAZÁSOK (ISM.) Swing felületű, eseményvezérelt alkalmazás létrehozása: 1.JFrame alapú osztály létrehozása Szerepe: vezérlés.
Programozás III KIVÉTEL.
Haladó Programozás System.Threading.Tasks.Task OE-NIK HP.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
Programozás III SWING. SWING ALKALMAZÁSOK (ISM.) Swing felületű, eseményvezérelt alkalmazás létrehozása: 1.JFrame alapú osztály létrehozása Szerepe: vezérlés.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Párhuzamosság A program egyszerre több mindent is csinálhat Lehetőségek: –Számítással egyidőben IO –Több processzor: számítások egyidőben –Egy processzor.
Fejlett Programozási Technikák 2.
Fejlett Webes Technológiák
Párhuzamos programozás
Java bevezető Beágyazott rendszerek szoftvertechnológiája c. tárgyhoz
Alkalmazásfejlesztés gyakorlat
Fejlett Webes Technológiák II.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Fejlett Webes Technológiák II.
Java Programozás 3. Gy: Java GUI Swing, AWT B IT M A N v:
B M Java Programozás 7. Gy: Java alapok IT A N Adatkezelő 3.rész
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Thread és Task.
Folyamatok.
Előadás másolata:

1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:

2 Kivételkezelés I. szokatlan, váratlan esemény - hibakezelés cél: robosztus program, hiba esetén ne álljon le hagyományos hibakezelés: nehézkes, komplex kód pl. C programban függvények visszatérési értéke visszaterjesztés a hívónak több szinten keresztül nehezen karbantartható

3 Kivételkezelés II. alapelv: funkcionális részeket és a hibakezelést különválasztani! try-catch-finally blokk kivétel eldobása: throw new MyOwnException()‏ amiket tovább akarunk dobni: throws Throwable class: Exception és Error class RuntimeException és Error kitüntetett

4 Kivételkezelés – példa class MyException extends Exception { MyException(String s) { super(s); } } … static int readData() throws MyException, java.io.IOException { … } … public static void main(String[] args) { try { int d = readData(); … } catch (MyException me) { System.err.println(“MyException hiba: “ + me); } catch (java.io.IOException ioe) { System.err.println(“IOException hiba: “ + ioe); }

5 GUI: AWT és Swing AWT (java.awt) – Abstract Window Toolkit Swing (javax.swing) – AWT v2 komponensek és konténerek (folyamat-, adat-,) eseményvezérelt programozás eseménykezelés: esemény objektum: pl. MouseEvent esemény forrás objektum listener (hallgató) interfész: pl. MouseMotionListener adapter osztályok: pl. MouseMotionAdapter regisztrálás: pl. Component.addMouseMotionListener()‏

6 GUI: konténerek, komponensek ablakok: önálló ablak: JFrame, JDialog keret és önálló layout: JPanel bármi rajzolása: Canvas (AWT)‏ egyszerű komponens: JLabel: szöveg JButton, JCheckbox, JRadioButton: gombok JComboBox, JList: többféle választás JMenuBar, JMenu, JMenuItem: menü komplex feladatok: JTable: (akár szerkeszthető) táblázat JFileChooser: file open / save / … dialog

7 LayoutManager komponens méret megadása: setMaximumSize(), Preferred, Minimum meghatározza komponens helyét, méretét BorderLayout: North, E, W, S, Center BoxLayout: egy sorba vagy oszlopba FlowLayout: mint folyó szöveg GridLayout: négyzetrács (táblázat)‏ GridBagLayout: táblázat, de flexibilis

8 GUI: rajzolás saját grafika: célszerűen Canvas, JPanel vagy JLabel paintComponent() felülírása, repaint() meghívása! rajzolás (alakzat, kitöltés, …)‏ Graphics2D

9 GUI: rajzolás – példa class DominoPanel extends JPanel { // dominók állapota … public addDomino(Domino d) { // állapot változtatása … repaint(); } protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; g2.setColor(Color.red); g2.drawLine(10, 10, 50, 50); … }

10 Párhuzamos programozás folyamat (process) és szál (thread)‏ miért kellenek szálak? válaszadási képesség hosszú művelet (számolás, adatbázis) közben futó folyamatok leállíthatók legyenek háttérben futtatott feladat (pl. monitorozás, hálózati kommunikáció)‏ Swing megköveteli beépített szál-kezelési képesség nyelvi szinten prioritások (Thread.MIN_PRIORITY… Thread.MIN_PRIORITY)‏ példa: garbage collector (low priority, idle time)‏

11 Szálak szál implementálása: java.lang.Runnable interface java.lang.Thread osztály mindkettőnél: „public void run()” szál indítása: Thread.start(), nincs stop() ! join(): megvárja a szál befejeződését yield(): ütemezés – futás jogáról lemond szinkronizáció synchronized: objektumonként metódusok kölcsönös kizárása wait(), notify(), notifyAll()‏

12 Szálak – szál indítása class MyThread extends Thread { public void run() { … } } MyThread t = new MyThread(…); t.start(); VAGY class MyRunnable implements Runnable { public void run() {…} } MyRunnable r = new MyRunnable(…); new Thread(r).start();

13 Szálak – példa class Game extends Thread { private bool running = true; float x, y; public void run() { // inicializálás float dx = 0.1; while (running) { // objektumok mozgatása x += dx; // leállási feltétel ellenőrzése running =...; // várakozás a következő időszeletre (100ms)‏ sleep(100); // throws InterruptedException! }

14 Szálak – szinkronizáció class MyThread extends Thread { private int state; synchronized setState(int s) { state = s; } synchronized getState() { return state; } hálózat beállíthatja, megjelenítés kiolvashatja párhuzamosan az állapotot