import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.net.*; import java.util.Vector; import java.io.*; /** * Ein Applet, welches Daten vom Server nachlädt und * anzeigt. */ public class AppletGetData extends java.applet.Applet implements ActionListener { Vector names; Button nextButton, prevButton; TextField name; int index = 0; public void init() { setBackground(Color.white); Panel buttons = new Panel(new FlowLayout(FlowLayout.CENTER)); nextButton = new Button("weiter"); prevButton = new Button("zurück"); nextButton.setActionCommand("next"); nextButton.addActionListener(this); prevButton.setActionCommand("prev"); prevButton.addActionListener(this); buttons.add(prevButton); buttons.add(nextButton); name = new TextField(); name.setEnabled(false); setLayout(new BorderLayout()); add("Center", name); add("South", buttons); URL baseUrl, datenUrl; baseUrl = getCodeBase(); try { // URL aus Parameter lesen und seinen Inhalt // in einen Vector schreiben datenUrl = new URL(baseUrl, getParameter("url")); names = getNames(datenUrl); } catch (Exception e) {} } /** * Die Namen werden aus der URL ausgelesen. Jeder Name * steht in einer eigenen Zeile auf der HTML-Seite */ protected Vector getNames(URL url) throws IOException { Vector vector = new Vector(); BufferedReader in = new BufferedReader( new InputStreamReader( url.openStream())); String inputLine; while ((inputLine = in.readLine()) != null) vector.addElement(inputLine); in.close(); return vector; } /** * Den nächsten oder vorhergehenden Namen anzeigen. */ public void actionPerformed(ActionEvent e) { if ("next".equals(e.getActionCommand())) index++; else index--; if (index < 0) index = names.size()-1; if (index >= names.size()) index = 0; name.setText((String)names.elementAt(index)); } } --- HTML-Seite mit den Daten --- Duffy Duck Micky Mouse Daniel Düsentrieb Gustaf Gans Dagobert Duck Roger Rabbit Bugs Bunny Tick, Trick & Track