|
|
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 Javaimport 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 num=Integer.parseInt(getParameter("quanti"));
NumberFormatException, ArrayIndexOutOfBoundsException, MalformedURLException "_blank" |
|