Link


Dieses Applet demonstriert, wie aus einem Applet heraus eine neue Web-Seite geladen werden kann.
Links zu allen möglichen interessanten Seiten über Java und zu anderen Themen.

Die Java-Homepage von Sun bei der Adresse http://www.javasoft.com. Hier finden Sie Erklärungen, die aktuellste Version des Java Developer Kits, Dokumentationen, Neuigkeiten, Applets, kommerzielle Informationen usw.
Bei dieser Adresse ( http://www.gamelan.com) finden Sie eine umfangreiche Sammlung von Java-Applets und Querverweisen auf andere Seiten über Java. Die über 4000 Applets sind übersichtlich nach verschiedenen Themen, wie beispielsweise Spiezialeffekte, Multimedia, Spiele, Tools, Netzwerk, Kommerzielles usw. sortiert. Außerdem werden gute Editoren und Hilfen für Java angeboten.
Die Homepage vom Data Becker Verlag (http://www.databecker.de) bei der das Buch 'Software Training Java, In 15 Stunden topfit' erschienen ist, in dem dieses Applet beschrieben ist.


Und das ist der ganze Quelltext (auch zum download):

/*
 *
 * Copyright (c) 1996 - 1998
 * Frank Buss (fb@frank-buss.de), Stephan Schloepke (stephan@nordrhein.net)
 *
 * This applet was published in the book:
 *
 *     "Programmier Training Java, In 15 Stunden topfit"
 *     ISBN 3-8158-1303-4
 *     Authors: Frank Buss, Stephan Schloepke
 *     Data Becker Verlage (http://www.databecker.de)
 *
 * You can get this applet and more at http://www.frank-buss.de
 *
 */

//
// einen berührungssensitiven Knopf für HTML-Links
//

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

public class Link extends Applet {

    private Color normal;
    private Color focus;
    private String text;
    private URL url;

    public void init() {
        setBackground(Color.white);
        setFont(new Font("Helvetica",Font.BOLD,14));
        text=getParameter("text");
        try {
            url=new URL(getParameter("link"));
        } catch (MalformedURLException e) {}
        normal=new Color(Integer.parseInt(getParameter("farbe"),16));
        focus=normal.brighter().brighter();
        setForeground(normal);
    }

    public boolean mouseEnter(Event  evt, int  x, int  y) {
        setForeground(focus);
        repaint();
        return true;  // signalisieren, daß dieses Ereignis ausgewertet wurde
    }

    public boolean mouseExit(Event  evt, int  x, int  y) {
        setForeground(normal);
        repaint();
        return true;
    }

    public boolean mouseDown(Event evt, int x, int y) {
        showStatus(url.toString());
        getAppletContext().showDocument(url);
        return true;
    }

    public void paint(Graphics g) {
        Dimension size=size();
        g.fillArc(0,0,size.height,size.height,90,180);
        g.fillArc(size.width-size.height,0,size.height,size.height,270,180);
        g.fillRect(size.height>>1,0,size.width-size.height,size.height);
        g.setColor(getBackground());
        int textWidth=g.getFontMetrics().stringWidth(text);
        int textStart=(size.width-textWidth)>>1;
        g.fillRect(textStart-2,0,textWidth+4,size.height);
        g.setColor(getForeground());
        g.drawString(text,textStart,size.height-3);
    }

}


11. November 1999, Frank Buß