PDF de programación - Recursos de Sistema en Java - Laboratorio de Redes de Comunicaciones

Imágen de pdf Recursos de Sistema en Java - Laboratorio de Redes de Comunicaciones

Recursos de Sistema en Java - Laboratorio de Redes de Comunicacionesgráfica de visualizaciones

Publicado el 5 de Julio del 2017
630 visualizaciones desde el 5 de Julio del 2017
380,9 KB
17 paginas
Creado hace 15a (09/10/2008)
Laboratorio de Redes de Comunicaciones

Recursos de Sistema en Java

Properties
System 
Runtime
Swing

UNIVERSIDADE DA CORUÑA

Properties (I)

UNIVERSIDADE DA CORUÑA

• Un “property” define atributos de forma persistente.
– Son adecuados cuando los valores de los atributos deben de 

mantenerse en varias invocaciones de un programa.

• Un atributo tiene dos partes:

– Un nombre y un valor.
– La clase java.util.Properties gestiona un conjunto de pares 

clave/valor.

• Un par clave/valor es como una entrada de un diccionario.

– La clave es la palabra
– El valor es la definición.

• Cada clave contiene el nombre de un atributo del sistema; como valor 

posee el valor actual del atributo.

Octubre 2007

Laboratorio de Redes de Comunicaciones

2

Properties (II)

UNIVERSIDADE DA CORUÑA

• Cualquier programa Java puede 

utilizar un objeto Properties 
para gestionar sus atributos.
• Proporciona métodos para:

– Cargar pares clave/valor en un 

objeto Properties desde un 
“stream”.

– Recuperar un valor a partir de 

su clave

– Listar las claves y sus valores
– Obtener una enumeración de 

sus claves

– Guardar las propiedades en un 

“stream”.

• Y hereda todos los métodos de 

java.util.Hashtable.

• Métodos de properties:

– String getProperty(String key) 
– String getProperty(String key, 

String defaultValue) 

– void list(PrintStream out) 
– void list(PrintWriter out) 
– void load(InputStream 

inStream) 

– Enumeration propertyNames() 
– void save(OutputStream out, 

String comments) 

– Object setProperty(String key, 

String value) 

– void store(OutputStream out, 

String comments) 

Octubre 2007

Laboratorio de Redes de Comunicaciones

3

System

UNIVERSIDADE DA CORUÑA

• La plataforma Java permite a los programas acceder a los 

recursos del sistema a través de una API relativamente 
independiente del sistema implementada por la clase 
java.lang.System y por la clase java.lang.Runtime.

• La clase System permite a programas Java utilizar recursos 

del sistema aislándolos de detalles específicos de entorno.
– por ejemplo, acceder a recursos del sistema

• Flujos de I/O estándar y de error: System.in, System.out, System.err.

Octubre 2007

Laboratorio de Redes de Comunicaciones

4

Runtime (I)

UNIVERSIDADE DA CORUÑA

• Toda aplicación java tiene una única instancia de la clase 
java.lang.Runtime que permite a la aplicación interactuar 
con el entorno en el que la aplicación se ejecuta. 

• No se puede crear una instancia de Runtime, sin embargo, 
se puede obtener una referencia al objeto Runtime que se 
está ejecutando actualmente llamando al método estático 
Runtime.getRuntime().

• El objeto Runtime permite:

– Comunicarse con los componentes de entorno de ejecución

• Obtener información (Por ejemplo, la cantidad de memoria total 

utilizada por la JVM)

• Invocar funciones

– Actuar de interfaz con las capacidades dependientes del sistema.

Octubre 2007

Laboratorio de Redes de Comunicaciones

5

Runtime (II)

UNIVERSIDADE DA CORUÑA

• Métodos (java.lang.Process):













abstract  void destroy()



Finaliza/destruye los subprocesos.

abstract  int exitValue() 

• Devuelve el valor de retorno para el 

subproceso.

abstract  InputStream getErrorStream() 

• Devuelve el flujo de error del 

subproceso.

abstract  InputStream getInputStream() 

• Obtiene el flujo de entrada del 

subproceso.

abstract  OutputStream 
getOutputStream() 

• Obtiene el flujo de salida del 

subproceso.

abstract  int waitFor() 

• Hace que el thread actual espere, si es 

necesario, hasta que el proceso 
representado por este objeto haya 
terminado.



La clase Runtime permite crear un proceso 
nativo del sistema operativo, y se representa 
con el objeto java.lang.Process
– Los métodos de creación de procesos pueden 
no funcionar bien para procesos especiales en 
determinadas plataformas nativas, como 
procesos de ventanas, demonios, procesos 
Win16/DOS en Windows o scripts basados en 
shells.

– Los subprocesos creados no tienen su propia 

terminal o consola. Todas sus I/O estándar 
(stdin, stdout, stderr) se redirigen al proceso 
padre a través de tres flujos: 
getOutputStream, getInputStream y 
getErrorStream.

– El proceso padre utiliza estos flujos para 

comunicarse con el subproceso.

– Con algunas plataformas nativas que poseen 

limitaciones en buffers de entrada/salida, 
pueden producirse problemas al leer/escribir, 
incluso pudiendo bloquear el subproceso.
– El subproceso no se destruye cuando no 

quedan más referencias a él; continúa 
ejecutándose de forma asíncrona. 

Octubre 2007

Laboratorio de Redes de Comunicaciones

6

Runtime (III)

UNIVERSIDADE DA CORUÑA



java.lang.Runtime
– Process exec(String command)
– Process exec(String command, String[] envp)
– Process exec(String command, String[] envp, File dir)

• Ejecuta el comando especificado en un proceso diferente, pudiendo 

especificar

– Argumentos
– Un entorno determinado [(cada string tiene la forma nombre=valor). Si 

envp=null  el proceso hereda el proceso del padre]

– Un directorio de ejecución.

try {
String[] cmdarray = new String[1];
cmdarray[0] = “script.bat”;
Process p = Runtime.getRuntime().exec(cmdarray);
int exitValue = p.waitFor();
System.out.println(“ExitValue: “ + exitValue);
} catch (Exception e) {
e.printStackTrace();
}

Octubre 2007

Laboratorio de Redes de Comunicaciones

7

Runtime (IV)

UNIVERSIDADE DA CORUÑA



java.lang.ProcessBuilder (jdk5.0)
– Alternativa para la creación de procesos del sistema operativo 

nativo.

• Process p = new ProcessBuilder("myCommand", "myArg").start(); 

Octubre 2007

Laboratorio de Redes de Comunicaciones

8

Interfaces gráficas en JAVA

UNIVERSIDADE DA CORUÑA

• Hay dos formas fundamentales de crear interfaces gráficas 

con JAVA:
– Abstract Window Toolkit (AWT).

• La primera en aparecer.
• Aspecto dependiente del Sistema Operativo.
• Al requerir recursos de la interfaz de ventanas del Sistema Operativo, 

se suelen denominar componentes pesados.

– Swing.

• Complementa y extiende AWT.
• Aspecto independiente del Sistema Operativo.
• Componentes más ligeros. 
• Es la utilizada mayoritariamente hoy en día.

Octubre 2007

Laboratorio de Redes de Comunicaciones

9

Componentes en Java Swing (I)

UNIVERSIDADE DA CORUÑA

• Las Interfaces gráficas en swing se crean combinando 

diversos componentes gráficos predefinidos (y que pueden 
ser extendidos).

• Cada componente define un aspecto gráfico determinado y 

tiene una serie de propiedades.
– Ejemplo: 

• El componente JFrame sirve para crear una ventana de un tipo 

determinado.

• Al crearlo, se puede indicar un título para el mismo.

• Un componente es un contenedor para otros componentes. 

– Ejemplo:

• Al componente JFrame pueden añadirse, entre otros, componentes 

JLabel (para añadir etiquetas de texto), JButton (para añadir un botón 
que, al ser pulsado, desencadena una acción determinada), JMenuBar 
(para añadirle una barra de menús...).

Octubre 2007

Laboratorio de Redes de Comunicaciones

10

Componentes en Java Swing (II)

UNIVERSIDADE DA CORUÑA

• Los componentes Swing descienden de la clase 

java.awt.Container.

• La mayoría (excepto los contenedores de primer nivel) 

también descienden de java.swing.Jcomponent.

Octubre 2007

Laboratorio de Redes de Comunicaciones

11

Hello World ! (II)

UNIVERSIDADE DA CORUÑA

import javax.swing.JFrame;
import javax.swing.JLabel;

public class HelloWorldFrame extends JFrame{

public static void main(String args[]){

new HelloWorldFrame();

}

HelloWorldFrame(){

JLabel jlbHelloWorld = new JLabel("Hello World");
add(jlbHelloWorld);
this.setSize(100, 100);
pack();
setVisible(true);

//

}

}

Octubre 2007

Laboratorio de Redes de Comunicaciones

12

Hello World ! (II)

UNIVERSIDADE DA CORUÑA

• Creamos una clase que extiende de JFrame para crear 

nuestro contenedor de primer nivel.

• Creamos un componente JLabel con el texto que queremos 

mostrar.

• Se lo añadimos a nuestro JFrame.
• Fijamos el tamaño deseado para el JFrame usando setSize.
• Una alternativa para fijar el tamaño de la ventana es hacer 

que se ajuste al de sus subcomponentes llamando al 
método pack(). 
– Nótese que en el ejemplo esta llamada aparece comentada. Puede 

comentarse setSize y descomentar pack() para ver la diferencia.

• Hacemos visible el componente.

Octubre 2007

Laboratorio de Redes de Comunicaciones

13

Algunos Componentes Típicos

UNIVERSIDADE DA CORUÑA

• JPanel. Contenedor común de contenido.
• JFrame. Tipo común de ventana. Puede mostrar un Panel.
• JTabbedPane. Múltiples pestañas dentro de una ventana.
• JLabel. Etiquetas de texto.
• JTextField. Permite editar una línea de texto.
• JTextArea. Permite editar múltiples líneas de texto.
• JCheckBox. Casilla de verificación.
• JRadioButton. Escoger una de entre varias opciones.
• JList. Listas de selección
• JButton. Botones.
• JMenuBar. Barra de menú.
• …
Octubre 2007

Laboratorio de Redes de Comunicaciones

14

Layouts

UNIVERSIDADE DA CORUÑA

• ¿Cómo organizar en una ventana los diferentes elementos 

que se añaden?

• Algunos elementos tienen lugares predefinidos 

(JMenuBar,…).
– JFrame tiene un método setMenuBar.

• En general, podemos aplicar distintos tipos de layout a una 

ventana:
– FlowLayout. Los componentes se van situando de izquierda a 

derecha y de arriba abajo.

– BorderLayout. Divide la ventana en 5 regiones: NORTH, SOUTH, 

EAST, WEST y CENTER.

– GridLayout. Divide la ventana en una serie de celdas de igual 

tamaño. Cada componente puede ir en una celda. 

– GridBagLayout. Similar al anterior pero cada componente puede 

ocupar varias celdas. 

Octubre 2007

Laboratorio de Redes de Comunicaciones

15

Acciones

UNIVERSIDADE DA CORUÑA

• ¿Cómo asignar acciones a eventos producidos sobre la 

interfaz (e.g. pulsar un botón)?

• Pueden añadirse escuchadores de eventos a los 

componentes:
JButton jbnButton = new JButton("Send Message");
jbnButton.addActionListener(listener);

  • Links de descarga
http://lwp-l.com/pdf4859

Comentarios de: Recursos de Sistema en Java - Laboratorio de Redes de Comunicaciones (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad