package elte.java2_utikalauz5.programok; /** Alkalmazások programozásának szemléltetése.

A felületen látható lista felsorolja a kapott programparamétereket. Az ablak alján látható két gomb szolgál a befejezésre. A program befejezését figyelve kilistázódnak a rendszerjellemzők és a környezeti változók aktuális értékeit. @see java.lang.Runtime @link.forrásfájl {@docRoot}/../data/programok/src AlkalmazasTeszt.java @link.letöltés {@docRoot}/../data/programok AlkalmazasTeszt.jar @since Java 2 Útikalauz programozóknak 5.0 */ class AlkalmazasTeszt extends java.awt.Frame //Frame-től öröklés implements Runnable, java.awt.event.ActionListener { //eseményfigyelés /** Verziószám. */ private final static long serialVersionUID = 15L; /** GUI-t felépítő konstruktor. @param argumentumok A program indítási paraméterei. */ public AlkalmazasTeszt(String argumentumok[]) { setTitle(getClass().getName()+" alkalmazás"); //Ablak fejléce java.awt.TextArea paraméterlista = new java.awt.TextArea(); //szövegmező add(paraméterlista); //középpontban a paraméterlista paraméterlista.setEditable(false); //nem módosítható paraméterlista.append("Paraméterszám: "+argumentumok.length+"\n"); for (int számláló = 0; számláló < argumentumok.length; számláló++) paraméterlista.append( számláló+1+ //paraméterek listázása ". paraméter: "+argumentumok[számláló]+"\n"); java.awt.Panel panel = new java.awt.Panel(); //gombok panelje add(panel, java.awt.BorderLayout.SOUTH); //a panel lent látható java.awt.Button gomb = new java.awt.Button("exit"); //nyomógombok panel.add(gomb); //felvétele gomb.addActionListener(this); //gombnyomás figyelése gomb = new java.awt.Button("halt"); panel.add(gomb); gomb.addActionListener(this); // setSize(300, 200); //vagy megadjuk a kezdeti méretet pack(); //vagy az alapértelmezett méret lesz felvéve setVisible(true); //felület megjelenítése } /** Gombnyomás lekezelése. @param esemény A gombnyomást reprezentáló eseményobjektum. */ public void actionPerformed(java.awt.event.ActionEvent esemény) { if ("exit".equals(esemény.getActionCommand())) //kilépés exit-tel System.exit(0); if ("halt".equals(esemény.getActionCommand())) //kilépés halt-tal Runtime.getRuntime().halt(0); } /** A tesztprogram indítása. @param argumentumok Az indításkor megadott paraméterek. */ public static void main(String argumentumok[]) { Runtime.getRuntime().addShutdownHook(new Thread(//VM befejezés figyelése new AlkalmazasTeszt(argumentumok))); //példányosítás } /** A virtuális gép leállásakor hajtódik végre. Kilistázzuk a rendszerjellemzők és a környezeti változók aktuális értékeit. */ public void run() { System.out.println("Rendszerjellemzők:"); java.util.Properties jellemzők = System.getProperties(); String[] nevek = java.util.Collections.list(jellemzők.propertyNames()). toArray(new String[0]); //rendszerjellemzők neveinek java.util.Arrays.sort(nevek); //rendezése for (String név : nevek) //és az értékek kilistázása System.out.println("\t"+név+"="+jellemzők.getProperty(név)); System.out.println("Környezeti változók:"); java.util.Map környezet = System.getenv(); //környezeti nevek = környezet.keySet().toArray(new String[0]); //változók neveinek java.util.Arrays.sort(nevek); //rendezése for (String név : nevek) //és az értékek kilistázása System.out.println("\t"+név+"="+környezet.get(név)); } }