Para ello, debe realizarse un applet que contenga cuatro variables llamadas init_cont, start_cont, stop_cont, destroy_cont y paint_cont, las cuales deben ser inicializadas a 0 en su declaración.
Estas variables se usarán para contablilizar cuantas veces se llama a los métodos init, start, stop, destroy y paint del applet. El método paint debe incluir el código necesario para pintar el valor de estas variables.
Este applet debe incluirse dentro de una página HTML y visualizarse con el navegador. Así, una vez que se está ejecutando el applet deben realizarse estas operaciones y ver como afectan al valor de las variables:
Esto puede ser muy pesado cuando se está depurando un applet, ya que requiere mucho tiempo. Un método más rápido para visualizar los applets es usar el programa appletviewer en vez del navegador.
Para invocar appletviewer debe ejecutarse lo siguiente:
appletviewer nombre_fichero_htmlDe esta forma, se abre una ventana donde se ejecutará nuestro programa.
Visualice el applet anterior utilizando appletviewer en vez del navegador. Explore también los comandos que están accesibles en la barra de menús del appletviewer.
Cree un applet que presente unos ejes X e Y y sobre ellos dibuje la funcion SENO.
Una solución de esta práctica: Seno.java
Preocúpese únicamente de codificar los puntos que estén relacionados directamente con la construcción del interface gráfico. Si lo desea puede reutilizar la siguiente clase, que se encarga de analizar las pulsaciones realizadas y enviar los resultados adecuados a la pantalla
class kernel implements ActionListener { boolean nuevo_num = true; // se introducira nuevo numero float acumulador = 0.0f; // valor acumulado String ult_oper = "="; // ultimo operador private Label lab; // Label donde se presentan resultados // Al contructor debe pasarsele un Label que se utilizara para // presentar los valores tecleados y los resultados. public kernel (Label lab) { this.lab = lab; } // metodo invocado al pulsar un boton. public void actionPerformed(ActionEvent event) { String key = event.getActionCommand(); // nombre del boton pulsado String s = lab.getText(); // string del display float valor = 0; // valor del display try { valor = new Float(s).floatValue(); } catch (Exception e) { if (!key.equals("C")) return; // solo se acepta "C" } if ("0123456789".indexOf (key) != -1) { // es un digito if (nuevo_num) { nuevo_num = false; lab.setText(key); } else { lab.setText(s + key); } } else if (key.equals(".")) { // punto decimal if (nuevo_num) { nuevo_num = false; lab.setText("0."); } else { lab.setText(s + key); } } else if (key.equals("raiz")) { // raiz cuadrada valor = (float)Math.sqrt(valor); lab.setText (String.valueOf(valor)); nuevo_num = true; } else if (key.equals("+/-")) { // cambio de signo valor = -valor; lab.setText (String.valueOf(valor)); nuevo_num = true; } else if (key.equals("C")) { // Limpiar estado acumulador = 0; lab.setText ("0"); ult_oper = "="; nuevo_num = true; } else { // es + - * / = char c = ult_oper.charAt(0); switch (c) { case '=': acumulador = valor; break; case '+': acumulador += valor; break; case '-': acumulador -= valor; break; case '*': acumulador *= valor; break; case '/': acumulador /= valor; break; } ult_oper = key; nuevo_num = true; lab.setText (String.valueOf(acumulador)); } } |
Una solución de esta práctica: calculadora.java