Applets | Next |
Applets sind Java-Programme, die in HTML-Seiten eingebunden sind (siehe bspw. map24.de). Alle Applets werden von der Klasse %JAVADOC{java.applet.Applet}% abgeleitet. import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet { public void paint(Graphics g) { g.drawString("Hello world!", 50, 25); } }-- Christo - 13 Nov 2003 |
FirstPreviousNextLastExit | Slide 1 of 10 | COPYRIGHT © 2024 by the contributing authors |
Der <applet>-Tag | Next |
Applets werden durch einen besonderen Tag in den HTML-Code intergriert. Beim HTML-Standard 3.2 heißt dieser Tag applet: <applet name="mein_erstes_Applet" code="HelloWorldApplet" codebase="http://lxdv10.gsi.de/twiki/pub/Java/FirstApplet/" width="200" height="60"> <param name="Variable_xy" value="test123" /> </applet>Neuere Standards haben diesen Tag jedoch verworfen (deprecated). |
FirstPreviousNextLastExit | Slide 2 of 10 | COPYRIGHT © 2024 by the contributing authors |
Der <object>-Tag | Next |
HTML 4 hat einen allgemeineren Tag zum Einbinden von Multimedia-Objekten ersonnen: <object name="mein_erstes_Applet" codetype="application/java-vm" codebase="http://lxdv10.gsi.de/twiki/pub/Java/FirstApplet/" width="200" height="60"> <param name="code" value="HelloWorldApplet.class" /> <param name="type" VALUE = "application/x-java-applet"> </object> |
FirstPreviousNextLastExit | Slide 3 of 10 | COPYRIGHT © 2024 by the contributing authors |
Der <embed>-Tag | Next |
Netscape hat zur Einbindung von Multimedia-Objekten vor der Definition des object Tags bereits eigenmächtig den emded Tag definiert. Dieser ist nicht Bestandteil eines offiziellen Standards.
<embed type="application/x-java-applet" code="HelloWorldApplet.class" width=200 height="60" pluginspage =" http://java.sun.com/products/plugin/index.html#download"> <noembed> Your is completely ignoring the <embed> tag! </noembed> </embed>-- Christo - 28 Nov 2003 |
FirstPreviousNextLastExit | Slide 4 of 10 | COPYRIGHT © 2024 by the contributing authors |
Features der %JAVADOC{java.applet.Applet}%-Klasse | Next |
life cyclepublic class MyApplet extends Applet { public void init() { // wird aufgerufen beim ersten Laden des Applets } public void start() { // wird aufgerufen bei jedem Besuch der Applet-Seite } public void stop() { // wird aufgerufen bei jedem Verlassen der Applet-Seite } public void destroy() { // wird beim Beenden des Browsers aufgerufen } Graphik%JAVADOC{java.applet.Applet}% ist ein Erbe von java.awt.%JAVADOC{java.awt.Component}% und daher implizit eine GUI-Klasse.public void paint(java.awt.Graphics graphics) { // Graphik-Operationen mit Hilfe des graphics-Ojektes } Interaktion mit dem Browser
SicherheitApplets werden in einer Sandbox ausgeführt und haben nur wenige Rechte beim Zugriff auch Resourcen des ausführenden Rechners (siehe AppletSecurity). -- Christo - 28 Nov 2003 |
FirstPreviousNextLastExit | Slide 5 of 10 | COPYRIGHT © 2024 by the contributing authors |
java.awt | Next |
Zur GUI-Implementation gibt es verschiedene Bibliotheken von Java-Klassen Das AWT ist das ursprüngliche GUI-API der ersten Java-Versionen, dass mittlerweile als veraltet anzusehen ist. Die ursprüngliche Idee beim AWT ist, eine Schnittstelle zum nativen GUI der jeweils zugrundeliegenden Plattform zu schaffen. Bzgl. der Reichhaltigkeit des APIs lief dies jedoch auf den kleinsten gemeinsamen Nenner hinaus. Java-AWT-Anwendungen sind im Idealfall nicht von anderen, nativen Anwendungen zu unterscheiden. |
FirstPreviousNextLastExit | Slide 6 of 10 | COPYRIGHT © 2024 by the contributing authors |
javax.swing | Next |
Hinter dem SwingGUI steht der Versuch von Sun und Netscape, ein reine Java-GUI-Bibliothek zu implementieren, die nur für grundlegende Zeichenoperationen auf das GUI der zugrundeliegenden Plattform zurückgreift. Swing lässt sich daher leicht auf neue - auch weniger mächtige - Plattformen portieren und bietet auf allen Plattformen dasselbe Look'n'feel, das aber beliebig ausgetaucht werden kann. Optimierungsmöglichkeiten wie bspw. Hardware-Beschleunigung bestimmter Operationen können mit dieser Bibliothek kaum genutzt werden - sie ist also mit einem Performance-Nachteil verbunden. |
FirstPreviousNextLastExit | Slide 7 of 10 | COPYRIGHT © 2024 by the contributing authors |
Weitere GUI-Toolkits | Next |
|
FirstPreviousNextLastExit | Slide 8 of 10 | COPYRIGHT © 2024 by the contributing authors |
GUI-Programmierung mit Swing | Next |
Top-level Container
Swing-KomponentenSiehe http://java.sun.com/docs/books/tutorial/uiswing/components/components.htmlLayoutManagersEventHandlingSiehe auch: http://java.sun.com/docs/books/tutorial/uiswing/index.html -- Christo - 28 Nov 2003 Warning: Can't find topic Java.LayoutManager |
FirstPreviousNextLastExit | Slide 9 of 10 | COPYRIGHT © 2024 by the contributing authors |
Event handling | Next |
Ereignisse wie Mausklicks etc. werden im Java i.a. folgendermaßen abgehandelt:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ListenerApplet extends JApplet { JButton button = new JButton("Click mich!"); public void init() { getContentPane().add(button); button.addActionListener(new ButtonClick()); } public class ButtonClick implements ActionListener { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(button, "Gedrückt!"); } } } Siehe -- Christo - 30 Nov 2003 |
FirstPreviousNextLastExit | Slide 10 of 10 | COPYRIGHT © 2024 by the contributing authors |