Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Applet: URL 2

Precedente
SUPERIORE
Successiva

Il numero di pulsanti è parametrico

Codice Html

<applet code="AppletURL2.class" width="150" height="30">
   <param name=quanti value="3">
   <param name=etic0  value="Java">
   <param name=link0  value="http://www.valentinocondoluci.it/appunti/java">
   <param name=etic1  value="Html">
   <param name=link1  value="http://www.valcon.it/htmleco">
   <param name=etic2  value="IOI" >
   <param name=link2  value="http://www.valcon.it/ioi">
</applet>

oppure

Codice Html

<applet code="AppletURL2.class" width="480" height="30">
   <param name=quanti value="5">
   <param name=etic0  value="Java">
   <param name=link0  value="http://www.valentinocondoluci.it/appunti/java">
   <param name=etic1  value="Html & Co.">
   <param name=link1  value="http://www.valcon.it/htmleco">
   <param name=etic2  value="IOI">
   <param name=link2  value="http://www.valcon.it/ioi">
   <param name=etic3  value="Grafica & Web">
   <param name=link3  value="http://www.valcon.it/gew">
   <param name=etic4  value="Pascal">
   <param name=link4  value="http://www.valentinocondoluci.it/appunti/pascal"> 
</applet>

Codice Java

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;

public class AppletURL2 extends    Applet
                        implements ActionListener
{
   int    num;          // quanti pulsanti/url...
   String etichette[],
          link[];

   URL    url[]; 
   Button pulsanti[]; 

   public void init()
   {
      try
      {
         num=Integer.parseInt(getParameter("quanti"));

         etichette=new String[num];
         link     =new String[num];
         url      =new URL[num];
         pulsanti =new Button[num];

         setLayout(new GridLayout(1, num, 0, 0)); // i pulsanti occupano tutto lo spazio

         for(int i=0; i < num; i++)
         {
            etichette[i]=getParameter("etic"+i); pulsanti[i]=new Button(etichette[i]);
                                                 pulsanti[i].addActionListener(this);
                                                 add(pulsanti[i]);
            link[i]=getParameter("link"+i);      url[i]=new URL(link[i]);
         }
      }
      catch(NumberFormatException ex) 
      {
         System.out.println("Problema con \"quanti\"!"); 
      }
      catch(ArrayIndexOutOfBoundsException ex) 
      {
         System.out.println("Problema con i vettori!"); 
      }
      catch(MalformedURLException ex) 
      {
         System.out.println("Problema con i link!"); 
      }
   }

   public void actionPerformed(ActionEvent ae)
   {
      String nome=ae.getActionCommand(); 

      for(int i=0; i < num; i++) 
         if(nome.equals(etichette[i]))
         {
            getAppletContext().showDocument(url[i], "_blank");
            break; 
         }
   }
}

Osserva

  1. num=Integer.parseInt(getParameter("quanti"));
  2. NumberFormatException, ArrayIndexOutOfBoundsException, MalformedURLException
  3. "_blank"

Applet: URL 2 - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva