Programmierung eines NewsTickers in Java



Ähnliche Dokumente
Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Microsoft Windows 7 und Mozilla Firefox

Artikel Schnittstelle über CSV

Handout Wegweiser zur GECO Zertifizierung

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Mac OSX und Safari / Mozilla Firefox

Whitepaper. Produkt: address manager David XL Tobit InfoCenter AddIn für den address manager Zuordnung

Unterstützung bei Bedienungsproblemen der Webauskunft

Die Dateiablage Der Weg zur Dateiablage

Internet Explorer Version 6

Internet online Update (Internet Explorer)

Import und Export von Übergängern

Internet online Update (Mozilla Firefox)

Datenaustausch mit dem BVK Data Room

PSRDesigner. Punkt und Streifenrasterplatinen Designer

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

macs Support Ticket System

Anleitung für die Registrierung und das Einstellen von Angeboten

iphone-kontakte zu Exchange übertragen

Inkrementelles Backup

Arbeiten mit UMLed und Delphi

WORKSHOP für das Programm XnView

Installationsanweisung Gruppenzertifikat

Arbeiten mit dem Outlook Add-In

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst.

Schulberichtssystem. Inhaltsverzeichnis

Leitfaden zur Installation von Bitbyters.WinShutdown

IHREN BILDSCHIRM MIT STUDENTEN TEILEN, DIE SICH ÜBER EINEN BROWSER VERBINDEN

Office-Programme starten und beenden

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Projektthema: Modul Programmiersprachen (Java)

Datenaustausch mit dem BVK Data Room

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Tipps und Tricks zu Netop Vision und Vision Pro

ACDSee 2009 Tutorials: Rote-Augen-Korrektur

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Stand: Dokumentenverwaltung Modulbeschreibung

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

Kurzanleitung GigaMove

Das tgm stellt virtuelle Desktops zur Verfügung. Um diese nutzen zu können, gehen Sie bitte wie folgt vor:

LiveTicker - Dokumentation

Der Kalender im ipad

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

Computeria Solothurn

Kleines Handbuch zur Fotogalerie der Pixel AG

Wie kann ich mich als Kunde registrieren, damit ich Produkte im Afro Cosmetic Shop bestellen kann?

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Outlook 2000 Thema - Archivierung

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Schwacke Schnittstelle

1 Dokumentenmanagement

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Schriftgut- und Informationsverwaltung. Anleitung BürgerTOP

Herzlich willkommen bei der Installation des IPfonie -Softclients!

affilinet_ Flash-Spezifikationen

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

BSV Software Support Mobile Portal (SMP) Stand

Programme im Griff Was bringt Ihnen dieses Kapitel?

etermin Einbindung in Outlook

Datensicherung EBV für Mehrplatz Installationen

GDPdU Export. Modulbeschreibung. GDPdU Export. Software-Lösungen. Stand: Seite 1

Was meinen die Leute eigentlich mit: Grexit?

Erste Einstellungen im Alumni System

Dokumentation für das Spiel Pong

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Bilder zum Upload verkleinern

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Tutorial -

Persönliches Adressbuch

Success! Bestellausgabe

LIP Formulare Anleitung zum Speichern, Öffnen und Drucken

Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Anleitung OpenCms 8 Inhaltstyp Kommentare

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Java: Vererbung. Teil 3: super()

Live Update (Auto Update)

Konvertieren von Settingsdateien

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Zur Teilnahme am Webinar bitten wir Sie, sich auf der Lernplattform der Firma edudip zu registrieren.

TYPO3 (Facett.Net Backend) 33

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Tevalo Handbuch v 1.1 vom

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Programmieren in Java

Dokumentation zur Browsereinrichtung

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

teischl.com Software Design & Services e.u. office@teischl.com

Anleitung für Kunden zum Umgang mit verschlüsselten s von der LASA Brandenburg GmbH

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Outlook Erstellen einer aus einer HTML - Vorlage INHALT

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Saferpay Integrationsleitfaden für "giropay"

Excel Pivot-Tabellen 2010 effektiv

Bezahlen von Lohn und Gehalt per SEPA

Serien- mit oder ohne Anhang

Produktschulung WinDachJournal

Einführungskurs MOODLE Themen:

Transkript:

Programmierung eines NewsTickers in Java ( & ) Projektarbeit Programmiertechnik:Java NTA FH Isny 12. Info David Mayr / Andreas Krug Seite 1 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005

Inhalt 1 Anforderungsprofil 2 Konzeption 3 Besonderheiten / 4 Bedienung 5 Einschränkungen 6 Schnittstellen 7 Quellenangaben Seite 2 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005

1 Anforderungsprofil Die Aufgabenstellung ist, einen NewsTicker zur Anzeige von Nachrichten-Überschriften in Form einer Laufschrift mit klickbaren Links zu den jeweiligen Internetseiten, die dann in einem Browser geöffnet werden sollen, zu realisieren. Dabei soll der NewsTicker sowohl als zum Einsatz auf einer Internet-Seite, als auch mit nur geringfügig anderer Funktionalität als eigenständige implementiert werden. Im folgenden die aus der Aufgabenstellung ersichtlichen Unterschiede in einer Gegenüberstellung: Einlesen von Nachrichten-Überschriften und dazugehöriger Internet-Links... Übergabe von Konfigurations-Parameter (Laufrichtung, Geschwindigkeit) Anpassen der Schrift-Attribute (Schrift, Farbe, Grösse, Stil) aus den Parametern der HTML-Datei aus den Parametern der HTML-Datei durch die Parameter der HTML-Datei aus den Daten des Projekts " zum Erfassen von IT-News" "geeignete Methode" (verwendet: Kommandozeilen-Argumente) "geeignete Methode" (verwendet: Kommandozeilen-Argumente) 2 Konzeption Da der NewsTicker sowohl als als auch als implementiert werden sollte, wurde je eine Klasse mit den jeweils - bzw. s-spezifischen Funktionen erstellt. Im Falle des s müssen die Daten 1 aus den HTML-Parametern des s ausgelesen werden. Dies wurde in einer eigenen Klasse mit dem Namen HTMLParser realisiert, aus dessen Instanz dann mit entsprechenden get...()-methoden die Daten im -Objekt zur Verfügung gestellt werden können. Im Falle der müssen die Daten aus zwei Quellen ermittelt werden: den Kommandozeilen- Argumenten 2 und aus einer XML-Datei (Nachrichten mit Links). Dafür wurden die beiden Klassen ArgsParser und XMLParser erstellt, die wie der HTMLParser auch die Daten über entsprechdende get... ()-Methoden zurückgeben können. Ausserdem muss bei der erst noch ein Frame-Objekt das Programmfenster erstellt und konfiguriert werden. In allen Fällen, in denen Werte eingelesen werden die optional sind 3, wurden in der Klasse Standard Vorgabewerte eingeführt, die dann eingesetzt werden. Die eigentliche Newsticker-Funktionalität ist in der Klasse NewsTicker enthalten, die von der AWT-Klasse Panel abgeleitet ist. In beiden Fällen - sowohl beim als auch in - wird eine Instanz dieses allgemeinen NewsTicker-Panels gebildet und die eingelesenen Daten an dessen Konstruktor übergeben. Das NewsTicker-Panel wird dann dem bzw. dem Frame einfach hinzugefügt und erledigt den Rest. 1 Daten bedeutet hier: alle Nachrichten mit den dazugehörigen Links und evtl. pro-nachricht Schrift-Einstellungen. Ausserdem die allgemeine Konfiguration des Newstickers wie Laufrichtung und Geschwindigkeit. 2 darunter auch der Dateiname einer XML-Datei mit den Nachrichten im RDF- / RSS-Format 3 Im Prinzip sind beim alle Parameter optional bei der muss nur die XML-Datei mit dem richtigen Namen vorhanden sein, wenn kein Dateiname als Argument übergeben wurde. Seite 3 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005

Newsticker Newsticker Alle Nachrichten sind Instanzen der Klasse Nachricht, die für jedes Nachrichtenobjekt Attribute wie u.a. den Titel, den Link, die Position und Ausmaße speichert und über entsprechende Methoden kapselt so 'weiß' jedes Nachrichtenobjekt selbst, wo und wie es angezeigt werden soll. Nach der Anfangs-Initialisierung wird jedem Nachrichtenobjekt mit der Methode resetpositionen() eine Ausgangsposition in Abhängigkeit der Laufrichtung und Position/Breite der vorherigen Nachricht zugewiesen ausserhalb des sichtbaren Bereichs. Anhand folgender Graphik sollte das leichter verständlich werden: Jedes Nachrichten-Objekt kann über die Methode verschieben(int,int) im Prinzip in alle Richtungen verschoben werden, indem einfach die zu verschiebende Pixel-Anzahl in x- und y-richtung übergeben werden. Ausserdem kann mit der Methode treffer(int, int) jedes Nachrichten-Objekt 'gefragt' werden, ob es von der Maus an den übergebenen Koordianten "getroffen" wurde um dann evtl. ein OeffneLinkEvent zu erzeugen, der den Link der Nachricht in einem Browser öffnet. Über eine Instanz der Unterklasse TickerThread von NewsTicker, welche von Thread abgeleitet ist, wird in regelmässigen Abständen die NewsTicker-Methode verschiebenachrichten() aufgerufen, die je nach Laufrichtung alle Nachrichten verschiebt bzw. deren Positions-Attribute anpasst. Nach jedem Verschieben aller Nachrichten muss das NewsTicker-Panel neu gezeichnet werden. Dann wird geprüft, ob die letzte Nachricht bereits links aus dem Panel verschwunden ist ist das der Fall, werden wieder alle Positionen zurückgesetzt. Um das Zusammenspiel der einzelnen Klassen besser verstehen zu können, sollte folgende Graphik hilfreich sein: Seite 4 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005

Newsticker Newsticker OeffneLinkEvent OeffneLinkListener ArgsParser XMLParser Standard HTMLParser HTML-Datei: Parameter-Tags XML-Datei (RDF/RSS) mit den Nachrichten Argumente von der Kommandozeile Nachricht -> Ab hier kein Unterschied zwischen /, -> Übergabe aller Daten im Konstruktor (Nachrichten&Konfiguration) NewsTicker TickerThread Seite 5 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005

3 Besonderheiten Browser starten: Aus einem heraus, das bereits in einem Browser läuft, lässt sich ein weiterer Browser mit folgendem Aufruf starten: getcontext().showdocument( "http://www.blah.com", "_blank" ); Dieser Aufruf wurde in die Anonyme OeffneLinkListener-Klasse in die überschriebene Methode OeffneLink innerhalb der -init() Methode platziert, um immer dann ausgeführt zu werden, wenn der OeffneLinkEvent erzeugt wird. Browser starten: Aus einer heraus lautet die Anweisung ein externes Programm zu starten wie folgt: Runtime.getRuntime().exec( new String[] {"programmname", "argumente"} ); Dieser Aufruf wurde in die Anonyme OeffneLinkListener-Klasse in die überschriebene Methode OeffneLink innerhalb der main()-methode der platziert, um immer dann ausgeführt zu werden, wenn der OeffneLinkEvent erzeugt wird. 4 Bedienung Wird eine Nachrichten-Überschrift angeklickt und getroffen, wird der damit verbundene Link in einem Internet-Browser geöffnet. Bei einem Mausklick am linken Rand wird die Laufgeschwindigkeit verringert, am rechten Rand erhöht und im übrigen Bereich die Laufrichtung gewechselt. 5 Einschränkungen Läuft der Newsticker als, versucht diese beim klicken einer Nachrichten-Überschrift das Kommando "firefox" 4 mit der aufzurufenden URL als Argument zu starten. Dieses Kommando muss sich im Pfad der ausführbaren Programme befinden 5 - ist das nicht der Fall, kann der Browser nicht gestartet werden. Beim gilt diese Einschränkung nicht diesem ist es innerhalb eines Browsers leicht möglich eine zweite Instanz des Browsers mit dem Link zu öffnen. 4 Auch das Browser-Kommando kann in der Klasse "Standard" geändert werden. 5 Unter Linux ist das bei installiertem Firefox-Browser in der Regel gegeben. Seite 6 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005

6 Schnittstellen Die erforderliche Schnittstelle zum Projekt "Java- zum Erfassen von verschiedenen IT- Nachrichten" wurden einfach dadurch realisiert, dass bei unserer Newsticker- der Dateiname der Nachrichten-Datei 6 sowie die Breite, Höhe, Geschwindigkeit und Laufrichtung des Newstickers als Kommandozeilen-Argumente übergeben werden können. Die dafür zuständige Klasse "ArgsParser" sorgt ausserdem dafür, dass bei Aufruf der mit dem Argument "--help" oder "-h" folgenden Hilfe-Text zur Verwendung der möglichen Argumente ausgibt: NewsTicker. Moegliche Argumente: --geschwindigkeit [1-9] --laufrichtung [h/v] --breite [breite in pixel] --hoehe [hoehe in pixel] --datei [xml-dateiname(rss/rdf)] --schriftgroesse [in punkten] --help diese Hilfe. Damit ist es der Projektgruppe, die diesen Newsticker in ihr Projekt einbinden soll, einfach möglich ihn als eigenes Programm mit den entsprechenden Argumenten aus ihrem Programm heraus zu starten und die erzeugten XML-Dateien anzeigen zu lassen. 7 Quellenangaben Die Java API-Dokumentation Diverse Internet-Seiten und Java-Tutorials 6 Im XML-Format (RSS/RDF), erzeugt/heruntergeladen von der Projektarbeit unserer Kommilitonen. Seite 7 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ] ::: http://lunabox.de ::: Stand: 23.02.2005