Dr. Iszály György Barna

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Dr. Iszály György Barna"

Átírás

1 Dr. Iszály György Barna

2 Ember központú tervezés Cél:... Az emberek a kívánt műveleteket, szolgáltatásokat, és támogató feladatokat minimális stressz mellett maximális hatékonysággal végezhetik el". Három alapelvre támaszkodik: kiindulás és állandó fókusz: a használó személye és feladatai iteratív tervezés: a tervezés, megvalósítás, tesztelés, és módosítás ismételt alkalmazásával; A kezelőfelület minőségét a szoftver-használat kísérleti vizsgálatával (mérésével) ellenőrizhetjük.

3 Ismerd meg a szakterület fogalmait, szóhasználatát! Végfelhasználói interjúk Felhasználók munkájának megismerése, figyelemmel kisérése

4 Hasznosság a termék problémamegoldó képességére utal (több funkció, nagyobb hasznosság) Használhatóság a különböző feladatokat mennyire egyszerű elvégezni a termékkel Tetszetőség ha tetszik a termék, akkor szívesebben használjuk

5 Feltárás a különleges szükségletek felkutatása, megtalálása, és a termék tulajdonságainak módosítása a felmerült igények tükrében. Tanulás az a folyamat, amikor a felhasználó kitalálja, hogy hogyan használja a felfedezett funkciót ahhoz, hogy teljesíteni tudja a feladatát. Hatékonyság a felhasználó már hatékonyan tudja kezelni a funkciót további tanulás nélkül. Meghatározza, hogy egy gyakorlott felhasználó mennyi idő alatt tudja végrehajtani azokat a lépéseket, amik a funkció használatához szükségesek. Könnyebb használhatóság Jobb produktivitás Nagyobb bevétel a cégnek

6 A felhasználói felület az elsődleges kapcsolódási pont a felhasználó és a számítógép között. A jól áttekinthető, gondos felhasználói felület kidolgozása fontos! A teljes szoftvertervezési folyamat része kell legyen nagy hangsúlyt kell kapjon a megfelelő színvonalú kidolgozás elengedhetetlen Nem (csak) esztétikai kérdés! Meglehetősen szubjektív Tervezési elvek: Jól bevált..taktikák' Segítenek a jobb eredmény érérésében

7 Ma már egy felhasználói felületnek számos megjelenítési formája lehet: egyszerű ablakos vastagkliens alkalmazás, web-es rendszerek, Mobiltelefonok Pixelgrafikus alkalmazások (OpenGL, DirectX) Mindegyik külön tervezést igényel! alkalmazkodni kell az eszközökhöz és környezethez figyelembe kell venni a szoftvert használó emberek fizikai és mentális képességeit.

8 Kiindulópont az emberi képességek 1. Felhasználói jártasság Olyan kifejezéseket és fogalmakat kell használnia, amelyek megfelelnek a rendszert legtöbbet használó emberek tapasztalatainak. Nem szabad egy felületet csak azért ráerőltetni a felhasználóra, mert az kényelmesen implementálható. 2. Konzisztencia: a felületnek a hasonló műveleteket hasonló módon kell realizálnia. a rendszer parancsainak és menüinek ugyanazzal a formátummal kell rendelkezniük, a paramétereket minden parancshoz ugyanúgy kell átadni, és hasonlónak kell lennie a parancsok formájának.

9 3. Minimális meglepetés: a rendszer soha ne okozzon meglepetést a felhasználóknak ingerültté válnak, ha nem a várt módon viselkedik. Oka: a felhasználók felépítik magukban a rendszer működésének gondolati modelljét, Az eltérő logikai részek gondot okoznak 4. Visszaállíthatóság: a felületnek rendelkeznie kell olyan mechanizmusokkal, amelyek lehetővé teszik a hiba után történő visszaállítást. A. Az ártalmas tevékenységek megerősítése: ha a felhasználók ártalmas tevékenységet hajtanak végre, megerősítést kell tőlük kérni. B. Visszavonási lehetőség biztosítása: a visszavonás a rendszert visszaállítja a tevékenység bekövetkezése előtti állapotba. C. Ellenőrző pontok készítése: célszerű a rendszer állapotát bizonyos időközönként elmenteni.

10 5. Felhasználói útmutatás: hiba esetén értelmes visszacsatolás a felhasználónak Beépített súgó rendszer 6. Felhasználói sokféleség: Különböző felhasználóknak különböző interakciós lehetőségek biztosítása A rendszernek lehetnek alkalmi és rendszeres felhasználói, A regisztrált tagoknak többletfunkciók biztosítása

11 Folyamat során a felhasználók együttműködnek a tervezőkkel, prototípusokat készítenek a rendszer felületéről Design tervek, skicc rajzok, stb. Döntés: Milyenek legyenek a felhasználói felületek jellemzői, Milyen legyen a felépítése Hogy nézzen ki Célszerű a felületek tervezését iteratív úton fejleszteni A prototípus külön is elkészíthető párhuzamosan más szoftvertervezési tevékenységekkel ez gyorsítja a rendszer kifejlesztését

12 Felhasználói tevékenységek elemzése Papíralapú tervezési prototípus készítése Terv kiértékelése a végfelhasználókkal Tervezési prototípus Dinamikus tervezési prototípus előállítása Terv kiértékelése a végfelhasználókkal Futtatható prototípus Végleges felhasználói felület implementálása

13 Három alapvető szakaszt különböztetünk meg: Felhasználók elemzése: meg kell vizsgálni, hogy a felhasználók milyen feladatokat végeznek, milyen munkakörnyezetben dolgoznak, milyen egyéb rendszereket használnak, munkájuk során. Prototípus-készítés: a felhasználói felület terve alapján prototípust kell készíteni. Felületek értékelése: a prototípus formálisabb értékelése. A felhasználók interfészhasználat közben szerzett aktuális tapasztalatait gyűjtjük össze.

14 Elemezni kell azokat a felhasználói tevékenységeket, amelyeket a rendszernek támogatnia kell. Meg kell érteni a szoftver, és a felületek pontos célját. Három alapvető technika: feladatelemzés, interjúztatás vagy kérdőívek kitöltetése, etnográfia. A feladatelemzés és az interjúztatás az egyénre és az egyén munkájára összpontosít Az etnográfia az emberi kapcsolatokat vizsgálja

15 Legelterjedtebb módszer: Hierarchikus feladatelemzés (Hierarchical Task Analysis - HTA) Felhasználói kézikönyvek készítésének elősegítésére hozták létre de használható annak meghatározására is, hogy mit kell a felhasználóknak tenniük egy bizonyos cél elérése érdekében. A HTA elemzés alapja: a magas szintű feladatot részfeladatokra bontjuk. terveket készítünk, hogy megadjuk, hogy egy adott helyzetben mi történhet. A felhasználó céljából kiindulva egy hierarchiát készítünk, amely leírja, hogy mit kell tennünk a cél érdekében. Jelölésrendszere: Feladat/részfeladatjele a doboz Doboz alatti vonal azt jelöli, hogy az adott feladatot nem bontjuk részfeladatokra.

16

17 Előnye: (a természetes nyelvi forgatókönyvekkel szemben) Rákényszerít, hogy minden feladatot átgondoljunk és eldöntsük, hogy felbontható-e, avagy sem. A forgatókönyvek használata során könnyen kimaradhatnak fontos feladatok A forgatókönyvek hosszúvá és unalmassá válhatnak, ha sok részletet szeretnénk beleírni. Hátránya: leginkább csak a szekvenciális folyamatokként leírható feladatokra alkalmazható. konkurens tevékenységek leírásakor a jelölésmód kényelmetlenné válik.

18 Cél: a felületekkel szemben támasztott követelmények kifejezése valamilyen formában A szöveges leírások és a diagramok nem elég jók A felhasználói felületek mindig dinamikus folyamatot reprezentálnak. Nem képesek kifejezni és leírni a folyamatot teljes egészében. Hatékony megoldás: a végfelhasználó bevonásával végzett prototípus-készítés egyetlen hatékony módja a grafikus felhasználói felületének tervezésének és fejlesztésének.

19 A prototípus-készítés célja: egy elkészült példafelület segítségével a tervezők tapasztalatokat szerezzenek a működéssel kapcsolatban. A folyamatot két lépésben hajtjuk végre: 1. A folyamat elején papíralapú prototípusokat készítünk, és ezeket áttekintjük a végfelhasználókkal. a képernyőtervek, parancssori interfészeket 2. Finomítjuk a tervet: egyre kifinomultabb automatizált prototípusokat fejlesztünk Elkészítjük a számítógépes reprezentációját (Rajzolás, concept art) Tesztelésre és a tevékenységek szimulálása érdekében odaadunk a felhasználóknak.

20 A papír alapú prototípusok előnyei: Olcsó és hatékony Nem kell futtatható programot készíteni A terveket sem kell profi módon megrajzolni Csak azon képernyőket kell papírra lerajzolni, amelyeken kapcsolatba lépünk a rendszerrel A kezdeti tapasztalatok után a felület tervének szoftveres prototípusát kell implementálnunk.

21 Három implementációs lehetőség adódik 1. Szkriptvezérelt megközelítés: vizuális elemeket (gombokat, menüket stb.) tartalmazó képernyőket hozunk létre valamilyen szerkesztő eszköz segítségével Ezekhez szkripteket társítunk. A felhasználói interakció során a szkript végrehajtásra kerül, például megjelenik a következő képernyő

22 2. Vizuális programozási nyelvek: Egy vizuális programozási nyelv segítségével gyorsan létrehozhatunk felületeket, A felület objektumaihoz komponenseket és szkripteket társíthatunk. 3. Internetalapú prototípus-készítés: Ezek a megoldások egy web böngészőn és egy nyelven alapulnak. A funkcionalitást ekkor a nyelv nyújtja (pl.: Java). Ezek a kódrészletek az oldal böngészőbe töltésekor automatikusan végrehajtódnak

23 Értékelés célja: megvizsgáljuk, hogy mennyire használható az adott felület, ellenőrizzük, hogy megfelel-e a felhasználói követelményeknek. Az ellenőrzési folyamat ugyanolyan fontos, mint a tervezés, vagy a prototípus készítése! Szubjektív, de vannak alapvető kiértékelési jellemzők: Tanulhatósáq: mennyi idő szükséges a rendszer megtanulásához Műveleti sebesség: a rendszer válaszideje megfelelő-e. Robusztusság: milyen a rendszer hiba tűrőképessége. Visszaállíthatóság: hibák esetén milyen lehetőségek vannak a visszaállításra Adaptálhatóság: mennyire kötött a rendszer modellje.

24 A kiértékelést segítő eszközök Kérdőívek: arról gyűjtenek információt, hogy a felhasználók mit gondolnak a felületről. Főleg speciális kérdések. PL: értékelje 1-5-ig Megfigyelés: a rendszer felhasználóinak munka közben történő megfigyelése. Videó felvétel: a jellegzetes rendszerhasználat videó pillanatfelvételei". Naplózás: olyan kódrészlet beépítése a szoftverbe, amely a legtöbbször használt lehetőségekről és a leggyakoribb hibákról gyűjt információt, Ez a leghatékonyabb módszer

25 Az objektumok egymással és a felhasználóval eseményeken keresztül tartják a kapcsolatot. Az egyik objektum kivált egy eseményt Létrehoz egy esemény objektumot A futtató rendszer elkapja az eseményt és eljuttatja a célobjektumhoz. A célobjektum lekezeli az eseményt

26 A GUI eseményvezérelt, azaz a programot a futás közben keletkezett események vezérlik Esemény: egy objektum, amely mindig egy forrásobjektumhoz kötődik Eseménydelegációs modell: segítségével az esemény eljut a megfelelő figyelő objektumokhoz, amelyek feldolgozzák az eseményt Vannak alacsony szintű illetve magas szintű események

27 Az esemény: Az egérrel rákattintunk egy gombra, ami átállítja az ablak háttérszínét. A háttérben lezajló események Az operációs rendszer (pl. a Windows) érzékeli az egér kattintást. Az eseményt továbbítja annak a programnak, amelyik ablakában volt az egér a kattintáskor. A program továbbítja annak az objektumnak, amelyik területén történt a kattintás. Példánkban a gomb lekezeli az eseményt, azaz lefut a hozzárendelt metódus, átállítja az ablak háttérszínét.

28 Esemény: az alkalmazás által létrehozott objektum, mely a vele összefüggő információkat tartalmazza Esemény útja operációs rendszer eseménysora alkalmazás forrásobjektum esemény figyelői A komponensen a felhasználó csak akkor válthat ki eseményt, ha a komponens eleme az alkalmazás komponenshierarchiájának látható

29

30

31 A Java kétféle osztálygyűjteményt biztosít. Cél a platformfüggetlenség: AWT (Abstract Window Toolkit): Felhasználja az adott operációs rendszer saját GUI komponenseit (java.awt csomag) Swing: Az AWT komponensek pehelysúlyú (swing) változatai A komponensek grafikusan vannak kirajzolva Az AWT-re épül (javax.swing csomag)

32 Téglalap alapú képernyőfelületek, meghatározott tulajdonságokkal és viselkedéssel Swing komponensek közös őse a javax.swing.jcomponent Konténer komponensek Vezérlő komponensek

33 Konténer és komponense: A konténer komponensei fizikailag sosem kerülhetnek a konténeren kívülre Konténer megszűnése maga után vonja az összes komponensének a megszűnését Pl.: a keret, dialógusablak, panel konténerek Ablak és ablaka: A gyerek ablakok elhelyezkedése és mérete független a szülő ablaktól Példa: JWindow, JDialog

34 Point osztály: megjegyzi egy pont x és y koordinátáit Dimension osztály: megjegyzi egy téglalap méretét (szélességét és magasságát) Rectangle osztály: megjegyzi egy téglalap helyzetét (location): bal felső sarkának x és y koordinátáit, és méretét (dimension): szélességét (width) és magasságát (height)

35 Alapvető, környezetfüggő metódust tartalmaz, amelyek a képernyőkezeléshez, nyomtatáshoz szükségesek Metódusok: Static Toolkit get DefaultToolkit() Dimension getscreensize() Int getscreenresolution() Image createimage(string filename) void beep()

36 Adott tulajdonságú fontot (betűfajtát) tárol Tulajdonságok String fontname (név, pl.: Arial, Monospaced) int style (stílus, pl.: PLAIN, BOLD, ITALIC) int size (betűméret pontokban) Példánya változtathatatlan Minden komponensnek van fontja Logikai fontnevek: SansSerif, Serif, Monospaced, Dialog, DialogInput

37 RGB színt tárol Minden szín a 3 alapszín (piros,zöld,kék) keveréke Tulajdonságok int red (piros összetevő, ) int green (zöld összetevő, ) int blue (kék összetevő, ) Példánya változtathatatlan Minden komponensnek van egy háttérszíne és egy előtérszíne (betűszíne) Konstans szín objektumokat definiál: Color.black, Color.blue, Color.white,...

38 Absztrakt osztály A képernyőn megjelenő Swing komponensek közös őse Mezők static final float CENTER_ALIGNMENT,... Jellemzők Color background Color foreground boolean opaque Font font Cursor cursor Border border Dimension maximumsize Dimension minimumsize Dimension preferredsize float alignmentx float alignmenty String tooltiptext boolean visible boolean enabled boolean requestfocusenabled

39 Helyzetet és méretet metódusok int getx() int gety() int getwidth() int getheight() Rectangle getbounds() Point getlocation() Point getlocationonscreen() void setbounds(int x, int y, int width, int height) void setlocation(int x, int y) void setsize(int width, int height) boolean contains(int x, int y) boolean contains(point p)

40 Láthatóság, érvényesség boolean isdisplayable() void validate() Fókusz, eseményfogadás boolean hasfocus() void requestfocus() void transferfocus() Szülő, állapot Container getparent() String tostring() void list()

41 Konténer-komponensek közös őse Jellemzők: LayoutManager layoutmgr Komponens hozzáadása, kivétele Component add(component comp) Component add(component comp, int index) void remove(component comp) void remove(int index) void removeall()

42 Gyerekkomponensek int getcomponentcount() Component[] getcomponents() Component getcomponent(int n) Component getcomponentat(int x, int y) Component getcomponentat(point p) boolean isancestorof(component comp) Elrendezés Dimension getmaximumsize() Dimension getminimumsize() Dimension getpreferredsize()

43 Összes AWT és Swing ablak komponens közös őse Utódai: Frame, JFrame, Dialog, JDialog, Jwindow Metódusok: void pack() void show() boolean isshowing() void hide() void setlocationrelativeto(component c) void toback() void tofront() void dispose() törli a memóriából is

44 Metódusok: void addwindowlistener(windowlistener l) void removewindowlistener(windowlistener l) Component getfocusowner() Window getowner() Window[] getownedwindows() Aktív ablak Az operációs rendszerben pontosan egy alkalmazás aktív, egy alkalmazásban pedig pontosan egy ablak aktív.

45 Közvetlen ős: java.awt.frame A Swing egyetlen natív komponense Keret: legfelső szintű ablak, nincs tulajdonosa Van szegélye, ikonja, címe és menüsora Komponenseit a tartalompanelbe (content pane) kell tenni

46 Jellemzők String title Image iconimage MenuBar menubar boolean resizable int state Metódusok Container getcontentpane() setdefaultcloseoperation(int operation) static Frame[] getframes()

47 Minden konténernek van elrendezés-menedzsere Automatikusan elrendezi a konténer komponenseit, azok helyzetét és méretét Az alapértelmezett elrendezés-menedzser lecserélhető Előredefiniált osztályt választunk Egyéni rendezőt írunk Nem használunk elrendezés-menedzsert Az ablak pack utasítására automatikusan elrendezi a konténer komponenseit, azok helyzetét és méretét, figyelembe véve a gyerekkomponensek előnyös méreteit (a direkt módon megadott méreteket felülbírálja)

48 Előredefiniált elrendezés-menedzserek: FlowLayout, GridLayout, BorderLayout, CardLayout, GridBagLayout A Container osztály definiál egy elrendezésmenedzsert (LayoutManager) A konténerbe került komponensek a menedzser felügyelete alá kerülnek A menedzser felülbírálható a setlayout( ) üzenettel vagy meg is szüntethető setlayout(null)

49 A LayoutManager interfész Minden elrendezés-menedzsernek implementálnia kell a LayoutManager interfészt Container osztály idetartozó metódusai Component add(component comp) Component add(component comp, int index) void add(component comp, Object constraints) void add(component comp, Object constraints, int index) LayoutManager getlayout() void setlayout(layoutmanager mgr) void validate()

50 Sorfolytonos elhelyezés balról jobbra Elemek mérete: előnyös méret (preferredsize) alapján, az ablak átméretezésekor nem változik Sorok igazítása(align): balra, jobbra, középre Komponensek közötti konstans távolság vízszintesen(hgap) és függőlegesen(vgap) JPanel és Applet alapértelmezett elrendezés-menedzsere

51 Megadott sor és oszlopszámú rácson való elhelyezés Rács cellái: egyenlő méretű téglalapok, minden komponens egy téglalapot foglal el (nincs lyuk!) Elemek mérete: cellaméret, az ablak átméretezésekor változik Komponensek közötti konstans távolság vízszintesen(hgap) és függőlegesen(vgap)

52 4+1 égtájon való elhelyezés: North (Észak), South (Dél), West (Nyugat), East (Kelet), Center (Közép) Azonos égtájon levő elemek takarják egymást Elemek mérete az ablak átméretezésekor változik Komponensek közötti konstans távolság vízszintesen(hgap) és függőlegesen(vgap) Window és leszármazottainak (JFrame, JDialog), JFrame tartalompaneljének elrendezés-menedzsere

53 Konténer, mely összefogja a benne levő elemeket Láthatatlan, vagy látható (szín, keret) Alapértelmezésben dupla pufferelésű Saját elrendezés-menedzsere van, alapértelmezésben FlowLayout

54 Minden eseményosztály közös őse a java.util.eventobject A Swing az AWT eseménymodellt használja Az AWT események a java.awt.event csomagban találhatók, míg a Swing események a javax.swing.event csomagban Az AWT események közös őse a java.awt.awtevent absztrakt osztály

55 EventObject osztály protected Object source Object getsource() AWTEvent osztály protected int id (Pl.: MOUSE_CLICKED) protected boolean consumed static final int RESERVED_ID_MAX static final long FOCUS_EVENT_MASK static final long KEY_EVENT_MASK int getid() protected void consume() protected boolean isconsumed()

56 Operációs rendszer szintjén történő elemi esemény Forrása csak komponens lehet ComponentEvent utódja Alacsony szintű AWT események: ComponentEvent: Komponensesemény ContainerEvent: Konténeresemény FocusEvent: Fókuszesemény WindowEvent: Ablakesemény KeyEvent: Billentyűzetesemény MouseEvent: Egéresemény

57 Minden esemény, ami nem alacsony szintű Általában logikai esemény Forrása nem feltétlenül komponens Magas szintű események: ActionEvent: Akcióesemény AdjustmentEvent: Igazítási esemény ListSelectionEvent: Listakiválasztás-esemény DocumentEvent: Dokumentumesemény

58 SwingConstants interfész elemei Mindegyik konstans int típusú Igazítások: TOP, BOTTOM, LEFT, RIGHT, CENTER, LEADING, TRAILING Állás: VERTICAL, HORIZONTAL Irány: NORTH, SOUTH, EAST, WEST

59 Információ (szöveg / ikon) kiírására használatos Magas szintű esemény nem keletkezik rajta Nem kerülhet billentyűzetfókuszba Jellemzők String text Icon icon int horizontalalignment int verticalalignment int horizontaltextposition int verticaltextposition

60 Gombszerű komponensek absztrakt őse: AbstractButton +--JButton +--JToggleButton +--JCheckBox +--JRadioButton +--JMenuItem A gombok a ButtonGroup segítségével csoportba foglalhatók

61 Események ActionEvent Jellemzők String text Icon icon int mnemonic boolean selected String actioncommand Metódusok void doclick()

62 Események (örökölt) ActionEvent Jellemzők String text Icon icon int mnemonic boolean selected String actioncommand Metódusok (örökölt) void doclick()

63 Kétállapotú gomb logikai igaz/hamis állapot jelölésére Egymástól független jelölésekre használjuk Események (örökölt) ActionEvent Jellemzők (örökölt) String text Icon icon int mnemonic boolean selected String actioncommand

64 Kétállapotú gomb logikai igaz/hamis állapot jelölésére Egymástól függő jelölésekre használjuk Csoportosítani kell (ButtonGroup segítségével) Események (örökölt) ActionEvent Jellemzők (örökölt) Mint a jelölőmezőnél Metódusok void doclick()

65 Logikai csoportosítás A csoport gombjai közül egyszerre egy jelölhető be Csoport elemei: rádiógombok, AbstractButton utódok A ButtonGroup objektum összefogja a gombokat, felügyeli azok ki-be kapcsolását Nem komponens, nem keletkezik rajta esemény Konstruktor, metódusok ButtonGroup() void add(abstractbutton b) int getbuttoncount()

66 Szerkeszthető szövegmező és legördülő lista kombinációja Események ActionEvent ItemEvent Jellemzők boolean editable int maximumrowcount boolean popupvisible Object selecteditem int selectedindex Konstruktorok JComboBox() JComboBox(Object[] items) JComboBox(Vector items)

67 Metódusok void additem(object anobject) void insertitemat(object anobject, int index) void removeitem(object anobject) void removeitemat(int anindex) void removeallitems()

68 Szövegkomponensek absztrakt őse: JTextComponent +--JTextField +--JPasswordField +--JtextArea Adatmodellje: Document Esemény DocumentEvent (adatmodellen) Jellemzők Document doc String text Caret caret int caretposition Color caretcolor boolean editable int selectionstart int selectionend Color selectioncolor Color selectedtextcolor

69 Beviteli mező Események ActionEvent DocumentEvent (adatmodellen, örökölt) Jellemzők örökölt: doc, text, caret, caretposition, caretcolor, editable, selectionstart, selectionend, selectioncolor, selectedtextcolor int columns int horizontalalignment

70 Többsoros beviteli mező Nincs görgetősávja; görgetés: JTextArea ta = new JTextArea(); cp.add(new JScrollPane(ta)); Esemény DocumentEvent (adatmodellen, örökölt) Jellemzők örökölt: doc, text, caret, caretposition, caretcolor, editable, selectionstart, selectionend, selectioncolor, selectedtextcolor int columns int rows int tabsize boolean linewrap

71 Metódusok void insert(string str, int pos) void append(string str) void replacerange(string str, int start, int end) int getlinecount() int getlinestartoffset(int line) int getlineendoffset(int line) int getlineofoffset(int offset) AbstractDocument osztály metódusai String gettext(int offset, int length) int getlength()

72 Választható szövegek listája Nem gördül le, fix területen helyezkedik el Egyszerre több eleme is kiválasztható Adatmodellje: ListModel Kiválasztásmodellje: ListSelectionModel Esemény ListSelectionEvent (kiválasztásmodellen) Példa: JList lista=new JList(); lista.getmodel().addelement("hosszúhetény"); DefaultListModel model = new DefaultListModel(); JList lista=new JList(model); model.addelement("hosszúhetény");

73 Jellemzők ListModel model (alapért.:defaultlistmodel) int selectionmode ListSelectionModel.SINGLE_SELECTION, ListSelectionModel.SINGLE_INTERVAL_SELECTION, ListSelectionModel.MULTIPLE_INTERVAL_SELECTION int selectedindex int visiblerowcount int fixedcellwidth int fixedcellheight

74 Metódusok void setlistdata(object[] listdata) void setlistdata(vector listdata) void setselectedvalue(object anobject, boolean shouldscroll) Object getselectedvalue() Object[] getselectedvalues() void setselectedindex(int index) int getselectedindex() void setselectedindices(int[] indices) int[] getselectedindices() boolean isselectedindex(int index) boolean isselectionempty() void clearselection() int getfirstvisibleindex() int getlastvisibleindex() DefaultListModel osztály Vectorhoz hasonló

75 Program funkcióinak csoportosítása Menühierarchia: tetején: menüsor (JMenuBar) menüsor elemei: lebomló menük (JMenu) menü lehetséges elemei: újabb menü (JMenu) menütétel (JMenuItem) jelölő-menütétel (JCheckBoxMenuItem) rádió-menütétel (JRadioButtonMenuItem) menüelválasztó (szeparátor)

76 Menüsor (főmenü) a keret tulajdona kerethez rendelés: setjmenubar(jmenubar mb) Menütételek Gombok tovább nem bonthatók Gyorsabb elérés emlékeztető karakter (menü, menütétel) gyorsbillentyű (menütétel)

77 Menüosztályok hierarchiája JComponent +--JMenuBar +--AbstractButton +--JMenuItem +--JCheckBoxMenuItem +--JRadioButtonMenuItem +--Jmenu Esemény: ActionEvent minden gombon keletkezik menütételeken kell lekezelni

78 JMenuBar osztály JMenuBar() JMenu add(jmenu m) JMenu osztály JMenu(String text) JMenu() JMenuItem add(jmenuitem mi) void addseparator() void insertseparator(int index)

79 JMenuItem(String text, Icon icon) JMenuItem(String text, int mnemonic) örökölt jellemzők: text, icon, mnemonic, selected, actioncommand boolean enabled Keystroke accelerator void doclick()

80 Tipikusan felhasználói adatbevitelre, nyugtázásra, információközlésre szokás használni Tulajdonosa: keret vagy másik dialógusablak Lehet modális nem lehet átkapcsolni róla Tartalompanel Gyerekeit a tartalompanelbe kell tenni: dialog.getcontentpane().add(gyerek); elrendezés-menedzsere alapértelmezésben BorderLayout Esemény WindowEvent

81 Jellemzők String title boolean modal boolean resizable Konstruktorok, metódusok JDialog(Frame owner, String title, boolean modal) JDialog(Dialog owner, String title, boolean modal) void show() void hide()

82 Az opciópanel statikus metódusai szabványos dialógusokat jelenítenek meg modálisan: Információközlés (showmessagedialog) Megerősítés kérése (showconfirmdialog) Adatkérés (showinputdialog) Dialógusablak összeállítása Dialógus típusa: Message, Confirm, Input, Option Ikon (messagetype) megadása Üzenet (message) megadása Opciók kiválasztása

83 Dialóguskészítő metódusok paraméterei Component parent Object message String title int messagetype Icon icon int optiontype Object[] selectionvalues Object initialselectionvalue Object[] options Object initialvalue

84 Dialóguskészítő metódusok static void showmessagedialog(paraméterek) Paraméterek: parent, message, title, messagetype, icon static int showconfirmdialog(paraméterek) Paraméterek: parent, message, title, optiontype, messagetype, icon static String showinputdialog(paraméterek) Paraméterek: parent, message, title, messagetype, icon, selectionvalues, initialselectionvalue static int showoptiondialog(paraméterek) Paraméterek: parent, message, title, optiontype, messagetype, icon, options, initialvalue

85 Adott időközönként (delay) egy ActionEvent eseményt bocsát ki és elküldi az őt hallgató objektumoknak Leállítható (stop) és újraindítható (start) Van egy kezdeti késleltetése A periódusos és a kezdeti késleltetés menet közben is állítható Egy időzítőhöz akárhány hallgató kapcsolható, és egy hallgató több időzítőt is hallgathat Esemény: ActionEvent

86 Jellemzők int delay int initialdelay Konstruktor, metódusok Timer(int delay, ActionListener listener) void addactionlistener(actionlistener listener) void remove ActionListener(ActionListener listener) void start() void stop() void restart() boolean isrunning()

87 Javában csak a grafikus felületre lehet rajzolni Minden komponenshez tartozik egy Graphics osztályú objektum java.awt.graphics: absztrakt osztály, amely tartalmazza a grafikus műveletekhez szükséges deklarációkat Egy komponens grafikus objektumát a rendszer hozza létre Kétféle rajzolási lehetőség van: Lekérjük a grafikus felületet (getgraphics()) Újrarajzoláskor a rajz nem jelenik meg Felülírjuk a paintcomponent(graphics gr) metódusát A paintcomponent() metódust a rendszer automatikusan meghívja minden olyan esetben, amikor a felületet frissíteni kell (pld. elmozgatás, átméretezés)

88 Graphics getgraphics(): visszaadja a komponens grafikus felületét protected void paintcomponent(graphics gr): itt adjuk meg a rajzoló utasításokat void repaint(): újrarajzolja a komponenst. Akkor használjuk, ha az újrarajzolás szükségességét az operációs rendszer nem veheti észre

89 Egy Graphics objektum állapota: Komponens, amire rajzolunk Rajzolószín, betű Kivágási terület Eltolási pont Rajzolási mód: Felülíró XOR

90 setcolor(color c), getcolor() setfont(font f), getfont() setclip( ), getclipbounds() translate(x, y) setpaintmode(): felülíró rajzolás setxormode(color c): ha egy alakzatot kétszer kirajzolunk, visszakapjuk az eredeti alakzatot drawline(), drawstring() drawrect(), fillrect(), clearrect() drawoval(), filloval(), drawarc(), fillarc()

91 File osztály Bejegyzést reprezentál A bejegyzést útvonalával azonosítja Mezők static String separator static char separatorchar static String pathseparator static char pathseparatorchar Konstruktorok File(String pathname) File(String parent, String child) File(File parent, String child)

92 Metódusok boolean isabsolute() String getabsolutepath() File getabsolutefile() String getpath() String getcanonicalpath() throws IOException File getcanonicalfile() throws IOException String getparent() File getparentfile() String getname()

93 Metódusok boolean isdirectory() boolean isfile() long length() long lastmodified() boolean setlastmodified(long time) boolean canread() boolean canwrite() boolean exists() boolean ishidden() boolean setreadonly()

94 Metódusok boolean mkdir() boolean mkdirs() boolean createnewfile() throws IOException boolean delete() void deleteonexit() boolean renameto(file dest) String[] list() String[] list(filenamefilter filter) File[] listfiles() File[] listfiles(filenamefilter filter) static File[] listroots()

95 Könyvtárbejegyzések szűrését szolgálja Metódus boolean accept(file dir, String name) Azon állományok esetén tér igazzal vissza, melyekre teljesül a feltételünk Pl.: public boolean accept(file dir, String name) { return name.touppercase().endswith(.txt ); }

96 Stream - olyan objektum, amely egy célhelyre adatokat képes sorosan írni, ill. egy forráshelyről sorosan olvasni Folyamok osztályzása (feldolgozott elemek típusa szerint) Bájtfolyam (byte stream) Karakterfolyam (character stream) Adatfolyam (data stream) Objektumfolyam (object stream) Folyamok osztályzása (adatfeldolgozás iránya szerint) Beviteli folyam (input stream) Kiviteli folyam (output stream)

97 Írás/olvasás egysége: bájt (0..255) Minden adatsorozat feldolgozható bájtfolyamként Absztrakt ősei: InputStream, OutputStream Állományból olvasó bájtfolyam: FileInputStream Állományba író bájtfolyam: FileOutputStream

98 Összes beviteli bájtfolyam absztrakt őse Metódusok abstract int read() throws IOException int read(byte[] b) throws IOException int read(byte[] b, int off, int len) throws IOException int available() throws IOException long skip(long n) throws IOException void close() throws IOException

99 Összes kiviteli bájtfolyam absztrakt őse Metódusok abstract void write(int b) throws IOException void write(byte[] b) throws IOException void write(byte[] b, int off, int len) throws IOException void flush() throws IOException void close() throws IOException

100 Írás/olvasás egysége: unikód karakter (2 bájt) Szöveges állományok feldolgozására szokás használni Absztrakt ősei: Reader, Writer Pl.: FileReader, FileWriter

101 Összes beviteli karakterfolyam absztrakt őse Metódusok int read() throws IOException int read(char[] cbuf) throws IOException abstract int read(char[] cbuf,int off, int len) throws IOException boolean ready() throws IOException long skip(long n) throws IOException abstract void close() throws IOException

102 Összes kiviteli karakterfolyam absztrakt őse Metódusok void write(int c) throws IOException void write(char[] cbuf) throws IOException abstract void write(char[] cbuf, int off, int len) throws IOException void write(string str) throws IOException void write(string str, int off, int len) throws IOException abstract void flush() throws IOException abstract void close() throws IOException

103 Csak olvasható karaktereket tartalmazó állomány Sorokból áll, a sorok pedig karakterekből Soros szervezésű Állományból olvasó karakterfolyam: FileReader Állományba író karakterfolyam: FileWriter Karakterkódolás A szöveges állomány tárolásának módja az operációs rendszer karakterkódolási szabványától függ Lemezen tárolt karakter és a Java karakterei között kódolás/dekódolás: InputStreamReader, OutputStreamWriter

104 print és println metódusokat definiál Ezekkel az adatok olvasható formában kerülnek ki a karakterfolyamra PrintStream PrintWriter-hez hasonló, de elavult System.out és System.err szabványos eszközök osztálya

105 Írás/olvasás egysége: primitív adat vagy String Szűrő bájtfolyam: primitív adat / String bájt konverzió Pl.: DataInputStream, DataOutputStream DataInput, DataOutput interfészek primitív adat és String írása / olvasása primitív adat / String bájt konverzió FilterInputStream, FilterOutputStream Szűrőfolyamok ősosztályai

106 DataInput interfész (bájt primitív adat / String) boolean readboolean() throws IOException byte readbyte() throws IOException String readline() throws IOException String readutf() throws IOException

107 DataOutput interfész (primitív adat / String bájt) void write(int b) throws IOException void write(byte[] b) throws IOException void write(byte[] b, int off, int len) throws IOException void writeboolean(boolean v) throws IOException void writebyte(int v) throws IOException void writebytes(string s) throws IOException void writechars(string s) throws IOException void writeutf(string s) throws IOException

108 DataInputStream Beviteli szűrő adatfolyam Csak egy másik bájtfolyamból tud olvasni bájt primitív adat / String konverzió Konstruktor: DataInputStream(InputStream in) DataOutputStream Kiviteli szűrő adatfolyam Csak egy másik bájtfolyamba tud írni primitív adat / String bájt konverzió Konstruktor: DataOutputStream(OutputStream out)

109 Segítségével csökkenthetőek a memória és a külső erőforrás (pl. fájl) között az író/olvasó műveletek száma BufferedInputStream, BufferedOutputStream Bájtfolyamot pufferező beviteli/kiviteli szűrőfolyam Konstruktorok BufferedInputStream(InputStream in) BufferedInputStream(InputStream in, int size) BufferedOutputStream(OutputStream out) BufferedOutputStream(OutputStream out, int size) BufferedReader, BufferedWriter Karakterfolyamot pufferező beviteli/kiviteli folyam Konstruktorok BufferedReader(Reader in) BufferedReader(Reader in, int size) BufferedWriter(Writer out) BufferedWriter(Writer out, int size)

110 Írás/olvasás egysége: primitív adat vagy szerializálható objektum Szerializáció Objektum bájtfolyam Előnye: objektumok perzisztensen eltárolhatók Írás objektum bájtfolyam ObjectOutputStream Olvasás bájtfolyam objektum ObjectInputStream

111 Az objektum osztályának implementálnia kell a Serializable jelölő interfészt Szerializálás deklarálás sorrendjében minden objektum csak egyszer kerül tárolásra java.io.notserializableexception keletkezhet Szerializáláskor a bájtfolyamra kerülő adatok: osztály azonosításához: osztály neve, azonosítója, objektum adatai(kivéve static és transient adatok) Visszatöltéskor az objektum állapota ugyanaz lesz, mint kimentéskor volt Visszaolvasás ugyanolyan sorrendben, mint kiíráskor java.lang.classnotfoundexception keletkezhet Alapértelmezett szerializáló mechanizmus

112 Közvetlen hozzáférésű állomány Írható és olvasható egyszerre Írás/olvasás egysége: bájt, primitív adat vagy String (tetszőleges objektum nem lehet!) Állománymutató (állománypozíció, file pointer) Értéke: állomány elejétől számított bájtsorszám Lekérdezhető, beállítható Olvasó, író utasítások állítják

113 Konstruktorok RandomAccessFile(String name, String mode) throws FileNotFoundException RandomAccessFile(File file, String mode) throws FileNotFoundException mode: "r" vagy "rw" Metódusok long getfilepointer() throws IOException void seek(long pos) throws IOException int skipbytes(int n) throws IOException long length() throws IOException void setlength(long newlength) throws IOException

114 int read() throws IOException, EOFException boolean readboolean() throws IOException String readline() throws IOException String readutf() throws IOException void write(int b) throws IOException void writeboolean(boolean v) throws IOException void writebytes(string s) throws IOException void writechars(string s) throws IOException void writeutf(string s) throws IOException void close() throws IOException

115 Java Database Connectivity Programozói interfész (API) SQL parancsokat küldhetünk az adatbázisoknak és az adatbázis válaszait (eredménytáblák, visszatérési értékek, hibakódok, tárolt eljárások output paraméterei) feldolgozhatjuk Az adatbázisok eléréséhez szükséges Java osztályok a java.sql csomagban találhatók

116 Adatbázisok használatához az alábbi műveletekre van szükség: Összeköttetés (connection) létesítése az adatbázissal SQL utasítások végrehajtása (Select, Insert, Update, Delete, Call) Az adatbázis kezelő rendszer válaszainak feldolgozása (eredménytáblák, hibakódok, stb.)

117 A JDBC meghajtó-programok feladata a JDBC API és a konkrét adatbáziskezelő rendszer illesztése Többféle megvalósítása van: JDBC-ODBC áthidaló program + ODBC meghajtóprogram JDBC saját API áthidaló meghajtó-program Stb.

118 Letöltés: Célszerűen platform független (Independent) Kicsomagolás A "mysql-connector-java-5.1.{xx}-bin.jar fájl másolása a JAVA_HOME könyvtárba pl. c:\program files\java\jdk1.8.0_{xx}\jre\lib\ext Vagy bemásolni a projekt Libraries könyvtárába

119

120 A meghajtóprogram kiválasztható: Megnevezéssel Automatikusan a DriverManager osztály segítségével A DriverManager osztály nyilvántartja a használható meghajtó-programokat, és az adatbázis összeköttetés létesítésekor kiválasztja a megfelelő meghajtót.

121 Két módszerrel lehetséges: A meghajtó-program osztályának közvetlen betöltésével (Cass.forName() statikus metósussal) A jdbc.drivers rendszerparaméter beállításával. A DriverManager osztály inicializálásakor a jdbc.drivers rendszerparaméterben tárolt osztályok automatikusan betöltődnek

122 Adatbázis-URL-ek szintaxisa a következő: jdbc:alprotokoll:adatforrás a protokoll neve: jdbc az alprotokoll nevét a megfelelő meghajtó-program forgalmazója határozza meg, ezért rendszerint megegyezik a forgalmazó nevével az adatforrás leírása pedig az adatbázis eléréséhez szükséges további adatokat (pl. adatbázis neve és a hálózat címe, a felhasználó neve és jelszava) tartalmazza Példa: jdbc:oracle:thin:@site:port:database jdbc:odbc:datasource;odbcoptions jdbc:mysql://localhost/database

123 Létrehozása: Connection DriverManager.getConnection(url, username, password); Lezárása: Connection objektum close() metódusával

124 Statement: egyszerű utasítások végrehajtása PreparedStatement: bemenő paraméterekkel rendelkező utasítások végrehajtása CallableStatement: be/kimenő paraméterekkel rendelkező tárolt eljárások végrehajtása Az eredmény a ResultSet osztályként adódik vissza

125

126

127 Name (Minden komponens) Text - Szöveg (Form, Button, TextBox) Enabled ha hamis (false) a komponens a program futtatásakor le lesz tiltva. (Button, TextBox) Anchor - Átméretezhető ablakoknál hasznos. Beállíthatjuk, hogy a komponens mely oldalainak távolsága legyen az ablak oldalaihoz rögzítve. (Button, TextBox) TabIndex - A vezérlőnk helyét adja meg a tabulátoros elérési sorban. TabStop - Jelzi, hogy a Tab billentyűvel adhatunk-e fókuszt az elemnek. Location / x,y - A vezérlő koordinátáit adja meg az őt tartalmazó elem (pl. űrlap) bal-felső sarkától mérten. Size / Width, Height - A vezérlő szélessége és magassága pixelekben megadva.

128 Text - A vezérlőhöz rendelt szöveg TextAllign - A szöveg helyzetét állítja a vezérlőn belül. Font - A vezérlő szövegének betűtípusa. ForeColor - A vezérlő előtérszínét állítja. BackColor - A vezérlő háttérszínét állítja. Cursor - Az egérkurzor alakja a vezérlő felett. AutoSize - A vezérlő méretét automatikusan úgy állítja be, hogy a vezérlő szövege elférjen. UseMnemonic - Mnemonic-ok (emlékeztetők) használatának engedélyezése. Menmonic: Ha gombok vagy menüpontok feliratában & karaktert helyezünk el, az & karakter utáni betű aláhúzva jelenik meg. Az aláhúzott betű Alt billentyűvel együtt leütve kattintás eseményt vált ki. Pl: &Ok -> Ok

129 Click Kattintáskor/Enter nyomásakor következik be. TextChanged - Ha a vezérlő Text tulajdonsága (szövege) megváltozik Enter - a vezérlő megkapja a fókuszt. (Kiválasztjuk egérrel vagy a Tab billentyűvel) Leave - ha a vezérlő elveszti a fókuszt. MouseClick - Egérkattintáskor következik be. MouseDown - ha a komponens fölött lenyomjuk az egérgombot. MouseUp - ha a komponens fölött felengedjük az egérgombot. MouseEnter - amikor az egér a komponens látható része fölé ér. MouseLeave - amikor az egér elhagyja a komponens látható részét. MouseMove - A komponens fölött megmozduló egér váltja ki. MouseHover - Akkor következik be, amikor az egér már eltöltött egy bizonyos időt a komponens fölött.

JAVA PROGRAMOZÁS 6.ELŐADÁS

JAVA PROGRAMOZÁS 6.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 6.ELŐADÁS 2014-2015 tavasz Swing komponensek; Grafika; Elemi események 2 Swing komponensek Swing konstansok SwingConstants 3 interfész Általános

Részletesebben

JAVA PROGRAMOZÁS 5.ELŐADÁS

JAVA PROGRAMOZÁS 5.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 5.ELŐADÁS 2014-2015 tavasz Elrendezésmenedzserek, események 2 Elrendezésmenedzserek Elrendezésmenedzser 3 Minden konténernek van elrendezésmenedzsere

Részletesebben

JAVA PROGRAMOZÁS 4.ELŐADÁS

JAVA PROGRAMOZÁS 4.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 4.ELŐADÁS 2014-2015 tavasz Kivételkezelés, Grafikus felhasználói felület 2 Kivételkezelés Rendszerhibák és kivételek 3 Programot leállító események:

Részletesebben

JAVA PROGRAMOZÁS 8.ELŐADÁS

JAVA PROGRAMOZÁS 8.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 8.ELŐADÁS 2014-2015 tavasz Véletlen elérésű állományok; JDBC 2 Véletlen elérésű állományok A RandomAccessFile osztály 3 Közvetlen hozzáférésű

Részletesebben

Java programozási nyelv 8. rész Grafikus felhasználói felület

Java programozási nyelv 8. rész Grafikus felhasználói felület Java programozási nyelv 8. rész Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17

Részletesebben

Java programozási nyelv 10. rész Input/output kezelés

Java programozási nyelv 10. rész Input/output kezelés Java programozási nyelv 10. rész Input/output kezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/28 Tartalomjegyzék

Részletesebben

JAVA PROGRAMOZÁS 7.ELŐADÁS

JAVA PROGRAMOZÁS 7.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 7.ELŐADÁS 2014-2015 tavasz Állománykezelés 2 Állományok, bejegyzések 3 A java.io csomag Útvonalak 4 Absztrakt / valódi útvonal A valódi útvonal

Részletesebben

Programozás III GRAFIKA RAJZOLÁS SWING FELÜLETEN RAJZOLÁS GRAFIKA HASZNÁLATA. Rajzolni az awt csomag Graphics osztályának metódusaival tudunk.

Programozás III GRAFIKA RAJZOLÁS SWING FELÜLETEN RAJZOLÁS GRAFIKA HASZNÁLATA. Rajzolni az awt csomag Graphics osztályának metódusaival tudunk. Programozás III GRAFIKA GAFIKA RAJZOLÁS GRAFIKA HASZNÁLATA Rajzolni az awt csomag Graphics osztályának metódusaival tudunk. A java.awt.graphics osztály néhány metódusa: drawstring() drawrect() drawoval()

Részletesebben

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok Grafikus felhasználói felületek készítése és eseménykezelés Java-ban Abstract Window Toolkit, a java.awt és java.awt.event csomagok Abstract Window Toolkit Absztraktizálás: az osztályok és funkcionalitások

Részletesebben

Gábor Dénes Főiskola (IAI) Programozási technológia (Java) - II. / 1

Gábor Dénes Főiskola (IAI) Programozási technológia (Java) - II. / 1 5. A felhasználói interfész felépítése 6. Elrendezésmenedzserek 7. Eseményvezérelt programozás 8. Swing-komponensek 9. Grafika, képek 10. Alacsony szintű események 11. Belső eseménykezelés, komponensgyártás

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html 1 Kivételkezelés I. szokatlan, váratlan

Részletesebben

Vizuális, eseményvezérelt programozás I.

Vizuális, eseményvezérelt programozás I. Vizuális, eseményvezérelt programozás I. Visual Studio ismétlés Grafikus felület tervezése Vezérlők alapvető tulajdonságai, metódusai, eseményei Hibakezelés V 1.0 1 Hallgatói tájékoztató A jelen bemutatóban

Részletesebben

VI. Grafikus Java alkalmazások

VI. Grafikus Java alkalmazások VI. Grafikus Java alkalmazások 1. Bevezetés Programjaink egészen eddig algoritmusvezérelt módon, konzolos környezetben kommunikáltunk a felhasználókkal. A program menetét az határozta meg, hogy a kódban

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Grafikus felhasználói felület Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt,,heavy weight"

Részletesebben

Java felhasználói felület

Java felhasználói felület Java felhasználói felület Alapfogalmak Komponens alapok Elek Tibor GUI-val kapcsolatos fogalmak Eseményvezérelt program Program futás: - induló állapot (induló UI) megjelenítése, - eseménykezelő végtelen

Részletesebben

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Programozási Grafikus Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt: heavy weight" komponensek swing:

Részletesebben

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később). Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később). Mi hogyan használjuk? awt: eseménykezelés,

Részletesebben

JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1

JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1 JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1 TARTALOM Input/Output oadatfolyamok ofájlkezelés okonzol 1/9/2017 2 Input/Output, adatfolyamok 1/9/2017 3 INPUT/OUTPUT Szinte minden alkalmazás használ valamilyen

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 9. gyakorlat Fájlkezelés A fájlkezelés Java-ban különböző osztályok összekapcsolásával történik. Minden egyes osztály valamilyen minimális szolgáltatást tesz hozzá a többihez.

Részletesebben

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk

Részletesebben

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. AWT Grafika Bevezető Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. Fogalmak: geometriai alakzatok, felületek,

Részletesebben

Programozás 2., II. kötet Windows form alkalmazások

Programozás 2., II. kötet Windows form alkalmazások TÁMOP-4.1.1.F-14/1/KONV-2015-0009 A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN Achs Ágnes Szendrői Etelka Programozás 2., II. kötet Windows

Részletesebben

13. Állományok, bejegyzések 14. Folyamok 15. Közvetlen hozzáférésű állomány. Programozási technológia (Java) - III. / 1

13. Állományok, bejegyzések 14. Folyamok 15. Közvetlen hozzáférésű állomány. Programozási technológia (Java) - III. / 1 13. Állományok, bejegyzések 14. Folyamok 15. Közvetlen hozzáférésű állomány Programozási technológia (Java) - III. / 1 13. Állományok, bejegyzések 1. A java.io csomag 2. Útvonalak 3. A File osztály 4.

Részletesebben

Swing. (A javax.swing csomag)

Swing. (A javax.swing csomag) Swing (A javax.swing csomag) SWING komponensek Motiváció: az AWT hátrányai: a toolkit-ek komplexitása (bug-ok forrása volt, sérti a platformfüggetlenséget), kevés lehetőség a megjelenítés befolyásolására,

Részletesebben

Java programozási nyelv 7. rész Java osztálykönyvtár 1.

Java programozási nyelv 7. rész Java osztálykönyvtár 1. Java programozási nyelv 7. rész Java osztálykönyvtár 1. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. október A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

A Java nyelv. Dialógus ablakok. Elek Tibor

A Java nyelv. Dialógus ablakok. Elek Tibor A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,

Részletesebben

Eseménykezelés Java környezetben, AWT alapok

Eseménykezelés Java környezetben, AWT alapok Java programozási nyelv 2007-2008/ősz 4. óra Eseménykezelés Java környezetben, AWT alapok Felhasználói felületek Eseménykezelés AWT ablakozó rendszer legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu

Részletesebben

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { Adatkezelés JDBC-vel 1 abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { private JTabbedPane jtp; private JPanel dp,

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi

Részletesebben

Java programozási nyelv

Java programozási nyelv Szoftvertechnológia sáv Java programozási nyelv Dirk Louis-Peter Müller: Java (Belépés az internet világába) Panem kiadó, Budapest, 2002. Webvilág sorozat Készítette: Gregorics Tibor Vázlatos áttekintés

Részletesebben

Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241

Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241 Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241 Ez a szabvány támpontokat ad a fejlesztőknek ahhoz, hogy ergonómikus rendszert tudjanak létrehozni. Az ISO 9241-es szabvány célja a képernyős munka

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

Reader /Writer InputStreamReader, OutputStreamWriter

Reader /Writer InputStreamReader, OutputStreamWriter 9. gyakorlat Input, output A Java adatfolyamokkal dolgozik (stream). [Ez olyan objektum, ahova tesszük vagy kapjuk az adatot úgy, hogy nem kell foglalkozunk a file-al, hálózattal,stb.] 2 típusa van: InputStream

Részletesebben

Swing GUI készítése NetBeans IDE segítségével

Swing GUI készítése NetBeans IDE segítségével Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az

Részletesebben

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára 7. Előadás Makrók alkalmazása. Salamon Júlia Előadás I. éves mérnök hallgatók számára Feltételes ciklusok Ha a ciklusváltozó intervallumát, előre nem tudjuk mert például a program futása során megszerzett

Részletesebben

Programozás Delphiben

Programozás Delphiben 1 of 6 FF Kezdőoldal Kurzusaim Egyéb CHE július 21. - július 27. Előzetes megtekintés TESZTNAVIGÁCI Ó 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Próbálkozás vége... Új előnézet

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 3. előadás Windows Forms dinamikus felhasználói felület, elemi grafika 2015 Giachetta Roberto groberto@inf.elte.hu

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 8. előadás Visszatekintés A Windows Console alkalmazások egy karakteres képernyőt biztosítottak, ahol a kimenet a kiírt szöveg, míg a bemenet a billentyűzet volt.

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok

Részletesebben

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

ScopeImage 9.0. Kamera és képfeldolgozó szoftver. Felhasználói kézikönyv

ScopeImage 9.0. Kamera és képfeldolgozó szoftver. Felhasználói kézikönyv ScopeImage 9.0 Kamera és képfeldolgozó szoftver Felhasználói kézikönyv Tisztelt felhasználó! Engedje meg, hogy először is gratuláljunk az általunk gyártott termék megvásárlásához. A helytelen használat

Részletesebben

ÁLTALÁNOS WEBLAPSZERKESZTÉSI TUDNIVALÓK ÁLTALÁNOS HTML KÓDOLÁSI TUDNIVALÓK

ÁLTALÁNOS WEBLAPSZERKESZTÉSI TUDNIVALÓK ÁLTALÁNOS HTML KÓDOLÁSI TUDNIVALÓK ÁLTALÁNOS WEBLAPSZERKESZTÉSI TUDNIVALÓK HTML dokumentum = weblap = weboldal = webpage Egy HTML dokumentum kiterjesztései: HTM vagy HTML STÍLUSLAP = Egy vagy több HTML utasítás, értékekkel ellátott paramétereinek

Részletesebben

VISUAL BASIC ALAPISMERETEK

VISUAL BASIC ALAPISMERETEK 11. Grafika VISUAL BASIC ALAPISMERETEK 11. Gyakorlat témaköre: Kiválasztógomb (Option Button) és a jelölőnégyzet (CheckBox) használata Kör, ellipszis (Circle) rajzolása. Circle (X, Y), Sugár, QBColor(Szín),

Részletesebben

Grafikus felületek készítése 1.

Grafikus felületek készítése 1. Grafikus felületek készítése 1. SWT Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Grafikus felületek fejlesztése Java grafikus toolkitek o AWT Na>v widgetek

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1 ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİK ALKALMAZÁSÁVAL I.... 1 ACTIVEX... 1 ACTIVEX CONTROL... 1 SAJÁT ACTIVEX VEZÉRLİ LÉTREHOZÁSA... 1 circctrl.cpp... 2 Háttérszín tulajdonság hozzárendelése a vezérlıhöz...

Részletesebben

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

Internet technológiák

Internet technológiák Szabadkai Műszaki Szakfőiskola Internet technológiák dr Zlatko Čović chole@vts.su.ac.rs 1 XHTML űrlapok 2 XHTML űrlapok Minden űrlap jelölőelem a: form{action, enctype, method} Űrlaptartalom /form jelölőelem

Részletesebben

Tartalomjegyzék 5 TARTALOMJEGYZÉK

Tartalomjegyzék 5 TARTALOMJEGYZÉK Tartalomjegyzék 5 TARTALOMJEGYZÉK Bevezető... 13 1. Általános tudnivalók... 14 1.1. Az operációs rendszer... 14 1.2. Tudnivalók a Windows-ról... 15 1.2.1. Honnan kapta nevét a Windows?... 15 1.2.2. A Windows,

Részletesebben

Access adatbázis elérése OLE DB-n keresztül

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.

Részletesebben

TCP/IP kapcsolat Java nyelven

TCP/IP kapcsolat Java nyelven Java programozási nyelv 2007-2008/ősz 5. óra TCP/IP kapcsolat Java nyelven Java streamek, szűrők, java.io TCP/IP alapú kommunikáció Egyszerű protokoll tervezése legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

14.2. OpenGL 3D: Mozgás a modellben

14.2. OpenGL 3D: Mozgás a modellben 14. Fotórealisztikus megjelenítés 1019 14.2. OpenGL 3D: Mozgás a modellben A program az OpenGL technika alkalmazásával gyors lehetőséget biztosít a modellben való mozgásra. A mozgás mellett lehetőség van

Részletesebben

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5. IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere

Részletesebben

15. Programok fordítása és végrehajtása

15. Programok fordítása és végrehajtása 15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és

Részletesebben

1. fejezet Microsoft Excel 2010 Tartománynevek... 3

1. fejezet Microsoft Excel 2010 Tartománynevek... 3 Táblázatkezelés II. TARTALOMJEGYZÉK 1. fejezet Microsoft Excel 2010 Tartománynevek... 3 Tartománynevek definiálása... 5 Háromdimenziós tartománynevek... 7 Másik munkafüzet celláira utaló név létrehozása...

Részletesebben

Bevezetés az Intelligens Kártyás Ajtó Zár 19.0 verziójába

Bevezetés az Intelligens Kártyás Ajtó Zár 19.0 verziójába Bevezetés az Intelligens Kártyás Ajtó Zár 19.0 verziójába A rendszer, ami egy gazdagépből és egy olvasó-író kártya és menedzsment szoftverből áll, különféle kártyák kiadásáért és menedzseléséért felelős,

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea.

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea. Óravázlat az ECDL oktatócsomaghoz 5. modul Adatbáziskezelés Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea.hu A vázlatot összeállította: Pintyőke László Lektorálta:

Részletesebben

Java felhasználói felület

Java felhasználói felület Java felhasználói felület Közbenső konténerek Elrendezés szervezők Elek Tibor Konténerek Közbenső konténerek - általános célú: +JPanel: egy egyszerű konténer, plussz funkciók nélkül +JScrollPane: az egy

Részletesebben

PÉLDATÁR 7. 7. BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL

PÉLDATÁR 7. 7. BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL PÉLDATÁR 7. 7. BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL Szerző: Dr. Oldal István 2 Végeselem-módszer 7. PÉLDA SÍKFESZÜLTSÉGI ÁLLAPOTRA 7.1. Saroklemez vizsgálata Határozzuk

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

3. Gyakorlat Ismerkedés a Java nyelvvel 3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az

Részletesebben

C# gyorstalpaló. Készítette: Major Péter

C# gyorstalpaló. Készítette: Major Péter C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,

Részletesebben

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság

Részletesebben

C# osztályok. Krizsán Zoltán

C# osztályok. Krizsán Zoltán C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC

Részletesebben

JAVA SE/ME tanfolyam tematika

JAVA SE/ME tanfolyam tematika JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív

Részletesebben

A billentyűzet az egyik legfontosabb adatbeviteli eszköz. Egyéb utasítás hiányában a számítógép innen várja a bemenő információkat, adatokat,

A billentyűzet az egyik legfontosabb adatbeviteli eszköz. Egyéb utasítás hiányában a számítógép innen várja a bemenő információkat, adatokat, A billentyűzet az egyik legfontosabb adatbeviteli eszköz. Egyéb utasítás hiányában a számítógép innen várja a bemenő információkat, adatokat, parancsokat. Magyar billentyűzet A billentyűk egy billentyűzetmátrixba

Részletesebben

Be- és kimenet kezelése

Be- és kimenet kezelése Be- és kimenet kezelése A legelső program Üdvözlő szöveg kiírása a képernyőre class Hello { public static void main( String args[] ){ System.out.println("Hello World!"); } } Hogyan használjunk fájlokat?

Részletesebben

ArcGIS 8.3 példa 1. Dr. Iványi Péter

ArcGIS 8.3 példa 1. Dr. Iványi Péter ArcGIS 8.3 példa 1. Dr. Iványi Péter Megjegyzések Ez a segédlet egy térinformatikai analízist mutat be. Nem minden lépés látható az oldalakon, de az előző segédletek megtanulása után nem szabad hogy problémát

Részletesebben

- Alkalmazásfejlesztési szemlélet megismerése - Java GUI készítés bemutatása Swing-ben - Órai feladat megoldása

- Alkalmazásfejlesztési szemlélet megismerése - Java GUI készítés bemutatása Swing-ben - Órai feladat megoldása - Alkalmazásfejlesztési szemlélet megismerése - Java GUI készítés bemutatása Swing-ben - Órai feladat megoldása A gyakorlat keretein belül egy könyvesboltot megvalósító alkalmazást készítünk el lépésről

Részletesebben

II. év. Adatbázisok és számítógépek programozása

II. év. Adatbázisok és számítógépek programozása II. év Adatbázisok és számítógépek programozása A programozási ismeretek alapfogalmai a) algoritmus b) kódolás c) program a) algoritmus: elemi lépések sorozata, amely a következı tulajdonságokkal rendelkezik:

Részletesebben

ArcGIS 8.3 segédlet 6. Dr. Iványi Péter

ArcGIS 8.3 segédlet 6. Dr. Iványi Péter ArcGIS 8.3 segédlet 6. Dr. Iványi Péter Tartalomjegyzék Ami kimaradt és kevésbé fontos dolgok Teljesen új adattábla létrehozása Bitmap adatok kezelése Szerkesztés bitmap képről Térképek terjesztése Teljesen

Részletesebben

Példaprogram - 2. Objektum-orientált programozás Java és C++ nyelven. Példaprogram. Azonosítók. Dr. Rohonczy János. Azonosítók

Példaprogram - 2. Objektum-orientált programozás Java és C++ nyelven. Példaprogram. Azonosítók. Dr. Rohonczy János. Azonosítók Példaprogram - 2 Dr. Rohonczy János Objektum-orientált programozás Java és C++ nyelven Java developer kit elérhetősége http://www.javasoft.com > javac Proba.java > java Proba 4 f = 24.0 ELTE, Általános

Részletesebben

Felhasználói felületek. Felhasználói felületek. Felhasználói felületek 2011.12.29.

Felhasználói felületek. Felhasználói felületek. Felhasználói felületek 2011.12.29. Felhasználói felületek Dr. Mileff Péter A felhasználói felület az elsődleges kapcsolódási pont a felhasználó és a számítógép között. A jól áttekinthető, gondos felhasználói felület kidolgozása fontos!

Részletesebben

Végeselem módszer 3. gyakorlat

Végeselem módszer 3. gyakorlat b SZÉCHENYI ISTVÁN EGYETEM ALKALMAZOTT MECHANIKA TANSZÉK Végeselem módszer 3. gyakorlat (kidolgozta: Dr.Molnár Zoltán egyetemi adjunktus,szüle Veronika egyetemi tanársegéd) Feladat: Saját síkjában terhelt

Részletesebben

FELÜLET...13 PROJEKTTERV...14

FELÜLET...13 PROJEKTTERV...14 1. FELADAT...3 1.1. FELADATKITŰZÉS:...3 1.2. PONTOSÍTÁS...3 1.2.1. Térkép:...3 1.2.2. Alkalmazott mesterséges intelligencia algoritmusok...3 1.3. ALRENDSZERDIAGRAM...3 2. OSZTÁLYOK...4 2.1. GUI ALRENDSZER(GYURI)...4

Részletesebben

Adatbázisok webalkalmazásokban

Adatbázisok webalkalmazásokban Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql

Részletesebben

A keretrendszer. A linuxos keretrendszer az eredeti alapján készült (nagyrészt C++-ban), ezért nagyjából azzal azonos funkcionalitásokkal rendelkezik.

A keretrendszer. A linuxos keretrendszer az eredeti alapján készült (nagyrészt C++-ban), ezért nagyjából azzal azonos funkcionalitásokkal rendelkezik. A keretrendszer A linuxos keretrendszer az eredeti alapján készült (nagyrészt C++-ban), ezért nagyjából azzal azonos funkcionalitásokkal rendelkezik. Fordítás és futtatás A futtatáshoz elengedhetetlen,

Részletesebben

Számítógépes grafika

Számítógépes grafika Számítógépes grafika XXIII. rész Grafika DOS alatt I. A DOS operációs rendszer a személyi számítógépek szöveges üzemmódú parancssoros operációs rendszere. Grafikus alkalmazásokat is lehetett DOS alatt

Részletesebben

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók Oracle SQL*Plus SQL ORACLE Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható

Részletesebben

1 Újdonságok a 3D szerkesztő módban

1 Újdonságok a 3D szerkesztő módban ArchiTECH.PC V8.0 verzió újdonságai 1 - Újdonságok a 3D szerkesztő módban 2 - Új eszközök 3 - Új menüparancsok 4 - Új paraméterek 5 - PDF import 6 - Információs jelek technikai jellegű módosítása a 2D

Részletesebben

Java Programozás 8. Ea: GUI. Graphical User Interface

Java Programozás 8. Ea: GUI. Graphical User Interface Java Programozás 8. Ea: GUI Graphical User Interface 90/1 B ITv: MAN 2018.02.05 Java GUI 90/2 Minimal version 90/3 GUI Javaban A Java három beépített keretrendszere GUI készítéséhez: AWT Abstract Window

Részletesebben

A Jáva programozási nyelv rejtelmei

A Jáva programozási nyelv rejtelmei Page 1 of 20 A Jáva programozási nyelv rejtelmei Tartalomjegyzék: Az alapok Egy példaprogram A program szerkezete Változók és értékek Megjegyzések a programban A fôprogram Vezérlési szerkezetek Kivételkezelés

Részletesebben

AutoCAD MAP DWG mapobject TOPOBASE konvertáló program dokumentáció

AutoCAD MAP DWG mapobject TOPOBASE konvertáló program dokumentáció H - 1161 Budapest Rákóczi út 76. Tel./Fax.: +36-1-4010159 http://www.pageos.hu toni@pageos.hu AutoCAD MAP DWG mapobject TOPOBASE konvertáló program dokumentáció A program használható a TOPOBASE 3-as és

Részletesebben

Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok. Android játékfejlesztés.

Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok. Android játékfejlesztés. Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok Android játékfejlesztés Godinek László Tartalomjegyzék 1 Mentés... 1 1.1 A fájlmentésről röviden... 1 1.2

Részletesebben

TARTALOMJEGYZÉK ELÕSZÓ............................................. v TARTALOMJEGYZÉK................................... xi BEVEZETÕ.......................................... xix 1. FEJEZET TANULJUK MEG

Részletesebben

Az animáció elve. Animáció. Képkockára ugrás. Képkockák és kockaszám. Megtekintés. Id szalag

Az animáció elve. Animáció. Képkockára ugrás. Képkockák és kockaszám. Megtekintés. Id szalag Az animáció elve Animáció Különálló képekb l tev dik össze Rögzített képekb l álló sorozat A látás folytonossága miatt nem vesszük észre a filmkockák közötti váltásokat, ha azok elég gyorsan történnek.

Részletesebben

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában? Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A

Részletesebben

eseményvezérelt megoldások Vizuális programozás 5. előadás

eseményvezérelt megoldások Vizuális programozás 5. előadás Programozási architektúrák, eseményvezérelt megoldások Vizuális programozás 5. előadás Komponens-alapú programozás Kezdelteges formája, az első komponensek: DLL-ek Black box ujrahasznosítható kód Függvényeket

Részletesebben

Debreceni Egyetem Informatika Kar. Mobiltelefon programozás és mobil adatbázis-kezelés

Debreceni Egyetem Informatika Kar. Mobiltelefon programozás és mobil adatbázis-kezelés Debreceni Egyetem Informatika Kar Mobiltelefon programozás és mobil adatbázis-kezelés Témavezető: Dr. Fazekas Gábor egyetemi docens Készítette: Toldi Gábor informatika tanár Debrecen 2008 Tartalomjegyzék

Részletesebben

i1400 Image Processing Guide A-61623_zh-tw

i1400 Image Processing Guide A-61623_zh-tw i1400 Image Processing Guide A-61623_zh-tw ................................................................. 1.............................................................. 1.........................................................

Részletesebben

Java felhasználói felület

Java felhasználói felület Java felhasználói felület Alapfogalmak Komponens alapok Elek Tibor GUI-val kapcsolatos fogalmak Eseményvezérelt program Program futás: - induló állapot (induló UI) megjelenítése, - eseménykezelő végtelen

Részletesebben

Dr. Pétery Kristóf: AutoCAD LT 2007 Fóliák, tulajdonságok

Dr. Pétery Kristóf: AutoCAD LT 2007 Fóliák, tulajdonságok 2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 4. Előadás Dr. Bécsi Tamás A RadioButton komponens Tulajdonságok: bool Checked Állapotjelző két állapot esetén: (true: bejelölve,false: nem bejelölve) Események: Esemény

Részletesebben

Tuplet Tool Hangjegycsoport eszköz

Tuplet Tool Hangjegycsoport eszköz Ezzel az eszközzel meghatározott időegységre meghatározott számú hangjegycsoportot hozhatunk létre. A hangjegycsoportokat pl. a Speedy Entry Tool-lal oktoláig az eszközön belül a számbillentyűkkel határozhatjuk

Részletesebben

RIA Rich Internet Application

RIA Rich Internet Application Áttekintés RIA Rich Internet Application Komplex felhasználói felülettel rendelkező web-alkalmazások Bevezető Flex áttekintés ActionScript Felhasználói felület tervezése Események Szerver oldali szolgáltatásokkal

Részletesebben

Tanulási segédlet 4. osztály

Tanulási segédlet 4. osztály Tanulási segédlet 4. osztály 1. Az informatikai eszközök használata 2. Alkalmazói ismeretek 3. Problémamegoldás informatikai eszközökkel 4. Infokommunikáció 5. Az információs társadalom 6. Könyvtári informatika

Részletesebben

VBA. Visual Basic for Applications

VBA. Visual Basic for Applications VBA Visual Basic for Applications Mi a közös a Microsoft Word, Excel, Power Point, Access alkalmazásokban? HÁT A VBA! Visual Basic for Applications Program nyelv: Menő programokat lehet benne írni English

Részletesebben

PÉLDATÁR 10. 10. BEGYAKORLÓ FELADAT TÉRBELI FELADAT MEGOLDÁSA VÉGESELEM- MÓDSZERREL

PÉLDATÁR 10. 10. BEGYAKORLÓ FELADAT TÉRBELI FELADAT MEGOLDÁSA VÉGESELEM- MÓDSZERREL PÉLDATÁR 10. 10. BEGYAKORLÓ FELADAT TÉRBELI FELADAT MEGOLDÁSA VÉGESELEM- MÓDSZERREL Szerző: Dr. Oldal István 2 Végeselem-módszer 10. TÉRBELI FELADAT MEGOLDÁSA 10.1. Lépcsős tengely vizsgálata Tömör testként,

Részletesebben