|
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" |
|