summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java b/Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java
new file mode 100644
index 0000000..ca55ceb
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/examples/URLLaden.java
@@ -0,0 +1,82 @@
+/* URLLaden.java */
+
+import java.applet.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import java.net.*;
+
+class URLButton
+extends Button
+{
+ private URL url;
+
+ public URLButton(String label, URL url)
+ {
+ super(label);
+ this.url = url;
+ }
+
+ public URL getURL()
+ {
+ return url;
+ }
+}
+
+public class URLLaden
+extends Applet
+implements ActionListener
+{
+ Vector buttons;
+
+ public void init()
+ {
+ super.init();
+ setLayout(new FlowLayout());
+ addNotify();
+ buttons = new Vector();
+ for (int i=1; ; ++i) {
+ String s = getParameter("button"+i);
+ if (s == null) {
+ break;
+ }
+ try {
+ StringTokenizer st = new StringTokenizer(s,",");
+ String label = st.nextToken();
+ String urlstring = st.nextToken();
+ URL url;
+ if (urlstring.charAt(0) == '=') {
+ urlstring = urlstring.substring(1);
+ url = new URL(getDocumentBase(),urlstring);
+ } else {
+ url = new URL(urlstring);
+ }
+ URLButton button = new URLButton(label,url);
+ button.addActionListener(this);
+ add(button);
+ buttons.addElement(button);
+ } catch (NoSuchElementException e) {
+ System.out.println("Button"+i+": "+e.toString());
+ break;
+ } catch (MalformedURLException e) {
+ System.out.println("Button"+i+": "+e.toString());
+ break;
+ }
+ }
+ }
+
+ public void actionPerformed(ActionEvent event)
+ {
+ URLButton source = (URLButton)event.getSource();
+ Enumeration en = buttons.elements();
+ while (en.hasMoreElements()) {
+ URLButton button = (URLButton)en.nextElement();
+ if (button == source) {
+ System.out.println(
+ "showDocument("+button.getURL().toString()+")"
+ );
+ getAppletContext().showDocument(button.getURL());
+ }
+ }
+ }
+} \ No newline at end of file