class= " lineNumbers " del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
|
class= del
el class= " del id= " codeSnippet686305 del en este caso, todo que necesitamos está en el paquete de javax.tv.xlet. Para más complejo
los ejemplos de // también importaríamos clases del org.dvb.* y de los otros APIs de MHP o de Java.
importación javax.tv.xlet.*;
// la clase principal de cada Xlet debe ejecutar este interfaz - si no hace esto,
// el software intermediario de MHP no puede funcionarlo.
la clase pública FirstXletExample ejecuta javax.tv.xlet. Xlet
{
// cada Xlet tiene un contexto de Xlet, apenas como el contexto del applet ese los applet en a
se da el Web page de //. Esto es creada por el software intermediario de MHP y pasada adentro a
// Xlet como parámetro al método del initXlet ().
contexto privado de javax.tv.xlet.XletContext;
Campo privado de // A para llevar a cabo el estado actual. Esto es necesario porque el startXlet ()
el método de // se llama para comenzar el Xlet por primera vez y también para hacerlo
Curriculum vitae de // Xlet del estado detenido brevemente. Esto archivada nos deja no perder de vista si somos
// que comienza por primera vez.
boleano privado hasBeenStarted;
/**
* Cada Xlet debe tener un constructor del defecto que no tome ninguna discusión.
* NinguÌn otro constructor conseguirá llamado.
*
FirstXletExample público ()
{
// el constructor no debe contener nada. Cualquie inicialización
// se debe hacer en el método del initXlet (), o en el método del startXlet
// si es time- o recurso-intensivo. Esa manera, el software intermediario de MHP
// puede controlar cuando la inicialización sucede en mucho un más fiable
manera de //
}
/**
* Inicializar el Xlet. El contexto para este Xlet conseguirá pasado adentro a esto
* el método, y una referencia a él deben ser almacenados en caso de que haya necesitado más adelante.
* Éste es el lugar en donde cualquier inicialización debe ser hecha, a menos que tome
* mucho tiempo o recursos. Si sale mal algo, entonces
* XletStateChangeException debe conseguir lanzado para dejar el sistema runtime saber
* que el Xlet no puede ser inicializado.
*
el initXlet vacío del público (contexto de javax.tv.xlet.XletContext) lanza javax.tv.xlet.XletStateChangeException
{
almacén de // una referencia al contexto de Xlet que el Xlet está ejecutando adentro
this.context = contexto;
// el Xlet todavía no se ha comenzado por primera vez, así que sistema
// esta variable a falso.
hasBeenStarted = falso;
// puesto que esto es un Xlet simple, apenas imprimiremos un mensaje a la salida de la eliminación de errores
System.out.println (“se ha llamado el método del initXlet (). Nuestro contexto de Xlet es” + contexto);
}
/**
* Comenzar el Xlet. A este punto el Xlet puede exhibirse en la pantalla y
* comenzar a obrar recíprocamente con el usuario, o hacer cualquier tarea recurso-intensiva. Éstos
* las clases de función se deben mantener startXlet (), y deben *not* ser hechas
* en initXlet ().
*
* Como con initXlet (), si hay cualquier problema este método debe lanzar
* XletStateChangeException para decir al sistema runtime que no puede comenzar.
*
* Una de las trampas comunes es que el método del startXlet () debe volver a su
* llamador. Esto significa que las funciones principales del Xlet se deben hacer adentro
* otros hilo de rosca. El método del startXlet () debe realmente apenas crear ese hilo de rosca
* y comenzarlo, después volver.
*
el startXlet vacío del público () lanza javax.tv.xlet.XletStateChangeException
{
// una vez más imprimimos un mensaje en la salida de la eliminación de errores para decir al usuario eso
// algo está sucediendo. En este caso, qué imprimimos depende de
// si el Xlet está comenzando por primera vez, o si es
// detenido brevemente y está reasumiendo
¿// nos han comenzado?
si (hasBeenStarted) {
System.out.println (“el método del startXlet () se ha llamado para reasumir el Xlet después de que se haya detenido brevemente. ¡Hola otra vez, mundo! ");
}
{
System.out.println (“el método del startXlet () se ha llamado para comenzar el Xlet por primera vez. ¡Hola, mundo! ");
// fija la variable que nos dice que nos han comenzado realmente
hasBeenStarted = verdad;
}
}
/**
* Se detiene brevemente el Xlet. Desafortunadamente, no está claro a cualquier persona (incluyendo
* gente que escribió la especificación de MHP) qué ésta significa. Generalmente, él
* significa que el Xlet debe liberar cualquier recurso escaso que está utilizando,
* parar cualquier hilo de rosca innecesario y quitarse de la pantalla.
*
* Desemejante de los otros métodos, el pauseXlet () no puede lanzar una excepción para indicar
* un problema con el estado cambiante. Cuando el Xlet se dice para detenerse brevemente sí mismo, él
* debe hacer eso.
*
pauseXlet vacío del público ()
{
// puesto que no tenemos nada detenerse brevemente, diremos a usuario que somos
// que se detiene brevemente por la impresión un mensaje en la salida de la eliminación de errores.
System.out.println (“se ha llamado el método del pauseXlet (). Hora de acostarse… ");
}
/**
* Parar el Xlet. El parámetro boleano dice el método si tiene que el Xlet
* obedecer esta petición. Si el valor del parámetro es verdad, el Xlet debe terminar
* y el sistema runtime asumirá que cuando el método vuelve, el Xlet tiene
* terminado. Si el valor f el parámetro es falso, el Xlet puede pedir que él
* no ser matado, lanzando un XletStateChangeException. si el software intermediario de MHP
* todavía quiere matar el Xlet, él debe llamar destroyXlet () otra vez con
* parámetro fijado para verdad.
*
el destroyXlet vacío del público (incondicional boleano) lanza javax.tv.xlet.XletStateChangeException
{
si (incondicional) {
// nos han ordenado terminar, así que obedecemos la orden cortésmente y lanzamos cualesquiera
recursos de //scarce que nos estamos sosteniendo.
System.out.println (“se ha llamado el método del destroyXlet () decir el Xlet parar incondicional. ¡Adiós, mundo cruel! ");
}
{
// hemos tenido una petición cortesa de morir, así que podemos rechazar esta petición si queremos.
System.out.println (“se ha llamado el método del destroyXlet () petición de que el uso para, solamente donante le de la opción. Así pues, decidiré no a stop.");
// que lanza un XletStateChangeException dice el software intermediario de MHP que
el uso de // quisiera guardar el funcionar si ha permitido a.
¡tiro nuevo XletStateChangeException (“no matarme por favor! ");
}
}
}
|