Sie sind hier: Java
Zurück zu: Sprachen
Allgemein:
Vorlesungen
Labore
Sinnvolle Programme
Lineare Regression
GUI-Entwurfsarbeit
Single-Format
Design Pattern-Termine
Observer1
Bsp2
Json-Array
Json-Dialogelemente
Webtechnologien
Hier finden Sie über 400 verschiedene Java-Quellcode für die unterschiedlichen Bereiche. Der Schwerpunkt ist die graphische Programmierung, aber man findet auch Beispiele für Design Pattern, System-Einstellungen, JNI, Java mit Datenbanken, Persistente Speicherung mit DataOutputStream bzw. Serialize.
Ableitung eines JTextField mit Listener, mit onChange-Event
Formatierung eines String, NumberFormat
JTree
JDBC (Datenbanken)
Export nach Excel
Pipe (in einem Stream schreiben, aus einem Stream lesen)
Starten eines Programms, ProzessBuilder statt Runtime.getRuntime().exec
Read und Write, Einbau eines Hexeditors
Plausibilitätsprüfung, sind die Daten vom Typ int, double?, mit regulären Ausdrücken
RTTI, Run Time Type Indentification, zur Laufzeit werden die Methoiden einer Klassen bestimmt
JUnit, Testbeispiele
XML, Testbeispiele, Neu mit speichern und lesen von KLassen nach XMLSingle Probleme
read_write, einfache Testbeispiele für das Schreiben und Lesen mittel DataOutputStream,. PrinStream, Zip, gz und unread
read_write_Beispiel, kompexere Testbeispiele für das Schreiben und Lesen mittel DataOutputStream,. Serializer, XML
Singleton-Beispiele: singleton.zip
Observer-Beispiele: observer.zip (Observer2.java verbessert)Reguläre Ausdrücke (
Regex
) (Neu)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Alle Quellen und Dokumente:
java.7z (8,6 MB, 757 Java-Dateien, Stand 26.10.2015)
Alle Quellen und Dokumente:
java.zip (24,4 MB, 757 Java-Dateien, Stand 26.10.2015)
Aktueller Stand 16.12.2017
Beschreibung | Download |
Basisklasse in Java mit Dialogfenster für fast alle Beispiele: JOptionPane Umwandlung Text in Zahlen Umwandlung Zahlen in Text FileExists etc. CenterScreen Welcher Mausschalter ist gedrückt neu inkl. Properties (PathSeparator, LineSeparator, Username, Userdir etc.) |
BspBasis.java BCBasis.java |
Beschreibung | Download |
Programm zum Kopieren und Einfügen aus der Zwischenablage |
Clipboard01.java Clipboard02.java |
Beschreibung | Download |
Beispiele für das Einlesen von dBase-Dateien dBase Beispiele werden mitgeliefert |
dBase.zip |
Beschreibung | Download |
Singleton Pattern mit Java |
singleton.zip Singleton.pdf Beispiele: Singleton1.java (nicht Threadsicher) Singleton2.java (nicht Threadsicher) Singleton3.java (nicht Threadsicher) Singleton4.java (nicht Threadsicher) Singleton5.java (Threadsicher) Singleton6.java (Threadsicher mit JInternalFrame) Singleton_enum.java (Threadsicher mit enum) Singleton_extends.java (abgeleitete Singleton) |
Observer |
observer.zip observer.pdf Beispiele: Observer1.java mit JTextFieldDocListener: Observe2.java (ein Textfeld) Observer3.java (zwei Textfelder) Observer4.java (ein JTextArea) |
Beschreibung | Download |
Export nach Excel mittels des Binary Interchange File Format (BIFF) Hauptproblem: Windows speichert in little Endian Java speichert in big Endian |
Export2Excel_01.java Bild: Export2Excel.jpg |
Export nach Excel mittels des Binary Interchange File Format (BIFF) Diese Lösung verwendet beim Double-Datentyp zwei Pipes Die erste Lösung ist natürlich besser, zeigt aber die Verwendung von Pipes Hauptproblem: Windows speichert in little Endian Java speichert in big Endian |
Export2Excel_02.java Bild: Export2Excel.jpg |
Beschreibung | Download |
Exception mit Java Abfangen einer Exception Zwingen, dass der Aufruf einer Methode mittels eines try catch Block programmiert werden muss |
Exception.zip |
Beschreibung | Download |
Beispiele mit der Klasse File, um Dateien und Verzeichnisse rekursiv zu suchen |
FCB1.java FCB2.java (mit JTree, aber nicht vollständig, dann besser JExplorer ansehen) (FCB=FileControlBlock) |
Beschreibung | Download |
Hashmap |
hashmap1.java hashmap2.java hashmap3.java |
Beschreibung | Download |
Java Native Interface | Beispiele und Dokumentation |
JComboBox cbFormat = new JComboBox();
cbFormat.addItem("0000"); // kein Array oder Vector
Beschreibung | Download |
Testbeispiele für Java Unit, JUnit |
JUnit.zip |
JUnit: Profi-Tipps
Klaus Meffert
Entwickler.press
ISBN: 3-935042-76-0
2006
Softwaretests mit JUnit
Verlag: Dpunkt Verlag; 2. Auflage, 2005
ISBN-10: 3898643255
ISBN-13: 978-3898643252
Beschreibung | Download |
Klassenbeispiele (contr*.java, Interface, Tisch, WBaum) |
Klassen.zip |
Beschreibung | Download |
Beispiele für das Formatieren von Zahlen Eintragen in einem Editor oder Ausgabe in einer Datei (etc.) Zusätzlich gibt es ein Hilfefenster, welches immer oberhalb des JFrame ist (AlwaysOnTop) setAlwaysOnTop(true); |
NumberFormatTest.java Kurzform: import java.text.*; // NumberFormat DecimalFormat df = new DecimalFormat("##0.0"); String s = df.format(12.3456); DecimalFormat df = new DecimalFormat("00"); String s = df.format(2); Bild: NumberFormat.jpg |
Symbol und Erläuterung
0
Ist eine Ziffer, entweder eine Ziffer oder Null
#
Ist eine Ziffer, entweder eine Ziffer oder ein Leerzeichen
.
Dezimaltrenner. Trennt Vor- und Nachkommastellen.
,
Komma ist Wiederholungszeichen für eine Gruppe. Tausendergruppe, Milliongruppe etc.
;
Trennzeichen. Links davon steht das Muster für positive, rechts das für negative Zahlen.
-
Das Zeichen für das negative Zahlen
%
Die Zahl wird mit 100 multipliziert (Prozentwert)
%%
Die Zahl wird mit 1000 multipliziert (Promillewert)
\u00A4
Nationales Währungssymbol (€ für Deutschland)
\u00A4\u00A4
Internationales Währungssymbol (EUR für Deutschland)
X
Alle anderen Zeichen z. B. X können ganz normal benutzt werden.
'
Ausmarkieren von speziellen Symbolen im Präfix oder Suffix à la \\Feste Beispiele:
String sStr = NumberFormat.getCurrencyInstance().format( 12345.6789 ) liefert 12.345,68 €
Formatiert mit und das Ergebnis
DateFormat.getDateInstance().format( new Date() )
liefert 02.09.2005
DateFormat.getTimeInstance().format( new Date() )
liefert 15:25:16
DateFormat.getDateTimeInstance().format( new Date() )
liefert 02.09.2005 15:25:16
NumberFormat.getInstance().format( 12345.6789 )
liefert 12.345,679
NumberFormat.getCurrencyInstance().format( 12345.6789 )
liefert 12.345,68 €
NumberFormat.getPercentInstance().format( 0.123 )
liefert 12 %
Beschreibung | Download |
Beispiel mit Pipes welches zwei Threads erzeugt, die die Daten transferieren Dieses Beispiel stützt NICHT ab, das das Update der Editoren über invokeLater realisiert wurde |
Pipe_01.java Bild: Pipe01.jpg |
Beispiel mit Pipes welches zwei Threads erzeugt, die die Daten transferieren Dieses Beispiel stützt ab, das das Update der Editoren nicht über den AWT-Thread läuft Abhilfe mit invokeLater in Pipe_01.java Mit der CheckBox kann man das Verhalten pürfen |
Pipe_02.java Bild: Pipe02.jpg |
Beschreibung | Download |
Beispiele für die Anwendung von Plausibilitätsprüfungen in Java: | Plausi.zip (alle Beispiele) |
Beispiele für die Anwendung von Plausibilitätsprüfungen in Java: Plausi1.java: einfache Plausibilitätsprüfung mit try Exception |
Plausi1.java |
Beispiele für die Anwendung von Plausibilitätsprüfungen in Java: Plausi2.java: einfache Plausibilitätsprüfung mit Basis-Klasse (Methode IVal) |
Plausi2.java |
Beispiele für die Anwendung von Plausibilitätsprüfungen in Java: Plausi3.java: verwendet ein PlainDocument mit IVal zum Testen (integer) |
Plausi3.java |
Beispiele für die Anwendung von Plausibilitätsprüfungen in Java: Plausi4.java: verwendet ein PlainDocument mit DVal zum Testen |
Plausi4.java |
Beispiele für die Anwendung von Plausibilitätsprüfungen in Java: Plausi5.java: Zusätzlich wird bei jedem Tastendruck abgeprüft, ob das Ergebnis eine double-Zahl ist Buchstaben, Sonderzeichen werden NICHT in den Editor eingetragen Benutzt ein PlainDocument diese Datei ist die einfachere Variante von JTextFieldIntDocListenerTest4.java |
Plausi5.java |
Beispiel eines Dialogs mit einer Methode zum Abprüfen der Werte |
Plausi6.java Beispieldateien: plausi_std.zip |
Beispiel eines Dialogs mit einer Methode zum Abprüfen der Werte Hier werden aber die Überprüfungen in der jeweiligen Klasse durchgeführt Ein Rückgabewert "false" zeigt an, dass die Eingabe falsch ist |
Plausi7.java Beispieldateien: plausi_std.zip |
Beispiel eines Dialogs mit einer Methode zum Abprüfen der Werte Es wird dazu mit der Pattern-Klasse gearbeitet (Reguläre Ausdrücke) import java.util.regex.Matcher; import java.util.regex.Pattern; |
Plausi8.java Beispieldateien: plausi_std.zip |
Beschreibung | Download |
Basisklasse um in Java die Properties auszulesen fileSeparator, pathSeparator, lineSeparator userName, userHome, userDir getpathParam("java.io.tmpdir"); getpathParam("os.name"); getpathParam("os.version"); |
BspProperties.java (Stand 23.10.2010) CProperties.java System01.java Ansicht der Ausgabe: properties.jpg |
Beschreibung | Download |
Beispiele zum Lesen und Schreiben von Daten in eine Datei ASCII Binär int double und String |
ReadWrite.zip (Alle Beispiele) Stand 24.03.2013 |
Einlesen einer ASCII-Datei, Verwendet die neue Methode LineNumberReader Abbruch mit der Methode din.ready() |
ReadASCII01.java |
Einlesen einer ASCII-Datei, Verwendet die Methode read, Einlesen in einem Block. Nur bei kleinen Dateien sinnvoll |
ReadASCII02.java |
Einlesen einer ASCII-Datei, Verwendet die Methode read, Einlesen in einem Block (DataInputStream) Nur bei kleinen Dateien sinnvoll |
ReadASCII03.java |
Einlesen aus einer HTML-Datei kann als Basis diene, so überprüfen, ob eine neue Version exitsiert |
ReadASCII04.java |
Beispiel für die Ausgabe mittels eines PrintStreams Die Daten werden immer in ASCII-Zeichen übersetzt und in die Datei geschrieben Kann dann mit jedem ASCII-Editor geoeffnet werden, Notepad |
WriteASCII01.java |
Beispiel für die Ausgabe mittels eines PrintStreams Die Daten werden immer in ASCII-Zeichen übersetzt und in die Datei geschrieben Kann dann mit jedem ASCII-Editor geoeffnet werden, Notepad Beschleunigung mittels BufferedOutputStream |
WriteASCII02.java |
Ausgabe von int, double, float Werten in eine binäre Datei Einlesen der Binär-Datei |
Readwrite_int_double_1.java |
Ausgabe eines Strings in eine binäre Datei Einlesen der Binär-Datei |
Readwrite_int_double_2.java |
Schreiben einer Instanz in eine Binärdatei Abstrakte Klasse, Line und Rectangle Mit Versionsnunmmer typ wird mitgespeichert, aber Container.load gelesen |
Readwrite_int_double_3.java |
Schreiben einer Instanz in eine Binärdatei Abstrakte Klasse, Line und Rectangle Mit Versionsnunmmer typ wird mitgespeichert. In Container.load wird gelesen, aber zurückgespeichert (unread der Klasse PushbackInputStream) unread geht aber nur mit einem Byte |
Readwrite_int_double_4.java |
Ausgabe mit int, double, float Werten in eine binäre Datei | write3.java |
Ein- und Auslesen eienr binären Datei Strings werden mitttels CDataOutputStream ausgegeben Strings werden mitttels CDataInputStream eingegelesen besser wäre String mittels writeUTF zu speichern besser wäre String mittels readUTF zu lesen Anzeige der Daten mittels eines Hexeditors |
readwriteStr1.java Bild: readwriteStr1.jpg |
Ein- und Auslesen eienr binären Datei Strings werden mitttels writeUTF ausgegeben Strings werden mitttels readUTF eingelesen Anzeige der Daten mittels eines Hexeditors |
readwriteStr2.java Bild: readwriteStr2.jpg |
Beispiel mit einfacher GUI Einlesen und schreiben in BINÄR-Datei schreiben von int, long, chars, double |
readwriteStr3.java Bild: readwriteStr3.jpg |
Programm testet die zeitlichen Unterschiede zwischen binär- und ASCII-Speicherung |
IOtest.java |
Schreiben einer Datei in das gz_format (GZIPOutputStream) |
Write_gz.java |
Lesen einerDatei im gz_format (entzippen) (GZIPImputStream) |
Read_gz.java |
Schreiben und Lesen einer Datei in das zip_format. Das zip-Format ist aber eigenständig!! DeflaterOutputStream |
Write_zip.java |
Beschreibung | Download |
Ruft ein Programm mittels Runtime.getRuntime().exec auf optional kann auch gewartet werden |
Run01.java Bild: Run01.jpg |
Ruft ein Programm mittels ProcessBuilder auf optional kann auch gewartet werden gegegenueber Runtime.getRuntime().exec kann man hier auch ein Startverzeichnis angeben Das Startverzeichnis wird über die JList ausgewählt (nur Root-Verzeichnisse funktionieren mit Notepad) |
Run02.java Bild: Run02.jpg |
Beschreibung | Download |
klassen_read_write1.java Schreibt und lädt Klassen mittel DataOutputStream Verwendet MagicNumber und Version schreiben und lesen von CAuto Format binaer, mittel DataOutputStream |
klassen_read_write1.java |
klassen_read_write2.java schreiben und lesen von CAuto Format binaer, mittel Serializer schreiben und lesen von CAutos (Liste) Format binaer, mittel Serializer |
klassen_read_write2.java |
klassen_read_write3.java schreiben und lesen von CAuto, CSchiffe, CFlugzeuge Format binaer, mittel Serializer (Liste lokal) |
klassen_read_write3.java |
klassen_read_write4.java schreiben und lesen von CAuto, CSchiffe, CFlugzeuge Format binaer, mittel Serializer (Liste als separate Klasse) |
klassen_read_write4.java |
klassen_read_write5.java schreiben und lesen von CAuto Format XML, mittel xml.bind.annotation das Root bekommt ein Element vor der Klassendefintion alle Klassen muessen einen Default-Kontruktor haben !!!!!!!!!!!!! es müssen alle get und set-Methoden implementiert werden !!!!!!!! schreiben und lesen von CAutos (Garage) Format XML, mittel xml.bind.annotation |
klassen_read_write5.java (XML) |
Beschreibung | Download |
Reguläre Ausdrücke testen Regex with Strings |
import java.util.regex.Matcher; import java.util.regex.Pattern; try { __String maske = "[A-Z][a-z]{1,}"; __String text = "Anton"; __// if ( Pattern.matches( maske, text) ) // alternative __if (text.matches(maske)) ____// okay __else ___// Error __} catch (Exception e ) { __System.err.println(e.toString()); } |
Reguläre Ausdrücke testen Regex with Strings Samples with pattern / matches |
Regex.txt Bilder: regex1.png regex2.png |
Beschreibung | Download |
RTTI: Run Time Type Identification und Reflection Auslesen der Informationen aus einer Klasse (Methoden etc.) |
rtti.zip (Alle Beispiele) |
rtti01.java: Ausgabe der Attribute und Methoden von MyJLabel Hier nur die Methoden von MyJLabel |
rtti01.java Bild: rtti01.jpg |
rtti02.java: Ausgabe der Attribute und Methoden von MyJLabel Hier alle die Methoden von MyJLabel bis Object |
rtti02.java Bild: rtti02.jpg |
rtti03.java: Hier alle die Methoden von MyJLabel bis Object Man kann nun verschiedene Klassen auswählen |
rtti03.java Bild: rtti03.jpg |
rtti04.java: Hier alle die Methoden von MyJLabel bis Object Man kann nun verschiedene Klassen auswählen hier wird ein Object mitttels ClassFor erzeugt hier wird ein Objekt mittels String erzeugt und dann eine Mtehode "setMatrnr" aufgerufen. Problem: Man kennt die Methode nicht. Funktioniert aber trotzdem |
rtti04.java Bild: rtti04a.jpg Bild: rtti04b.jpg Bild: rtti04c.jpg |
Beispiel um ein Objekt zu erzeugen und eine Methode aufzurufen:
private test() {
Class c = null;
Object obj;
Method[] m; // Array der Methoden
try {
c = Class.forName( sClassname );
obj = c.newInstance(); // Erzeugen einer Instanz der Klasse
m = c.getMethods(); // Liefert alle Methoden
for (int i=0; i<m.length; i++) {
String s1 = m[i].toString(); // aktueller Methodenname
if ( s1.indexOf("setName")>=0 ) {
// Methode der Oberklasse nun aufrufen
Object args[] = { new String("Meier") }; // Parameter
// Methode ausführen am Objekt obj
m[i].invoke(obj, args );
}
} // for
}
catch ( ClassNotFoundException e) {
System.out.println("Error4");
}
}
Beschreibung | Download |
Serialize1 mit einer Klasse BnRead_Clicked BnWrite_Clicked Ausgabe in einem Editor |
Serialize1.java Bild: Serialize1.jpg |
Serialize2 mit zwei Klassen (Person Parson und Gehalt) eine Person HAT eine Gehalt BnRead_Clicked BnWrite_Clicked Ausgabe in einem Editor |
Serialize2.java Bild: Serialize2.jpg |
Serialize3 mit zwei Klassen (Person Parson und Gehalt) Verschlüsselung des Passwortes eine Person HAT eine Gehalt BnRead_Clicked BnWrite_Clicked Ausgabe in einem Editor |
Serialize3.java Bild: Serialize3.jpg |
Komplettes Beispiel mit Eingabe, Speichern und Laden |
Serialize4.java Bild: Serialize4.jpg |
Beschreibung | Download |
Das Beispiel zeigt die Probmele beri der Verwendung von float resp. single 1) Ist 0.1+0.1+0.1=0.3 2) Wertetabelle von 0 bis 2.0 in 0.1 Schritten 3) GIS Berechnung mittels Zwischenwerten |
Single_probleme.java Bild: Single_probleme.jpg |
Beschreibung | Download |
JFrame mit Editor zeigt, wie man mit Collections.sort automatisch sortieren Reihenfolge ändernbar |
sort1.java |
Beschreibung | Download |
String analysieren Verwendet die Methode split |
analyse.java |
Beschreibung | Download |
Beispiele für die Anwendung von Timern (Animator) in Java |
Timer, der einfach mit Syso hochzählt Timer1.java Timer, der ein JLabel hochzählt Timer2.java |
Beschreibung | Download |
Vector1 Einfache Klasse wird in ein Vector eingefügt Typisierter Vector |
Vector01.java Bild: Vector01.jpg |
Vector2 Komplexe Klasse wird in ein Vector eingefügt und ausgegeben verwendet Singleton Pattern CPrintStream p = CPrintStream.getInstance(); |
Vector02.java Bild: Vector02.jpg |
CKlasse kl;
for (int i=0; i<myVector.size(); i++) {
kl = myVector.elementAt(i);
kl.print();
}
// neuer Iterator
System.out.println("\nNeuer Vector");
for (CKlasse kl2:myVector) {
kl2.print();
}
Beschreibung | Download |
XML1 Lädt eine beliebige XML-Datei |
xml1.zip Bild: xml1.jpg |
XML2 Beispiel aus Serialize Klasse Person und Gehalt Gespeichert in einer XML-Datei Laden aus der Datei Wichtig: Die Klassen dürfen nicht in einer Datei sein! |
xml2.zip Bild: xml2.jpg |
XML3 Beispiel aus Serialize Klasse Person und Gehalt Gespeichert in einer XML-Datei Laden aus der Datei Wichtig: Die Klassen dürfen nicht in einer Datei sein! |
xml3.zip xml3.java Bild: xml3.jpg |
klassen_read_write5.java schreiben und lesen von CAuto Format XML, mittel xml.bind.annotation das Root bekommt ein Element vor der Klassendefintion alle Klassen muessen einen Default-Kontruktor haben !!!!!!!!!!!!! es müssen alle get und set-Methoden implementiert werden !!!!!!!! schreiben und lesen von CAutos (Garage) Format XML, mittel xml.bind.annotation |
xml4.java (XML) xml4.zip (XML) Bild: xml4a.jpg Bild: xml4b.jpg |
Javadatei: ReadXML.java Als Textdatei: ReadXML.txt Beispieldatei: Autovermietung.xml Autovermietung.xsd Als Textdatei: Autovermietungxml.txt Autovermietungxsd.txt |
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_11" class="java.beans.XMLDecoder">
<string>Hallo</string>
<object class="java.util.Date">
<long>1292432430578</long>
</object>
<object class="xml2.Person">
<void property="betrag">
<double>1234.0</double>
</void>
<void property="firstname">
<string>Fred</string>
</void>
<void property="lastname">
<string>Weasley</string>
</void>
<void property="password">
<string>secret</string>
</void>
</object>
</java>
Aufgabe | Bemerkung | Link |
Aufgaben |
EinfuehrungGUI.pdf Aufgabe1.pdf Aufgabe2.pdf Aufgabe2.zip Aufgabe2.pdf |
|
Aufgabe1 Fakultät | Einfache Lösung | Aufgabe1_fak1.java |
Erweiterung: Fehlermeldungen mit einem Dialogfenster !!! Editzeile mit einem Hinweistext !! |
Aufgabe1_fak2.java | |
Erweiterung: Fehlermeldungen mit einem Dialogfenster !!! Editzeile mit einem Hinweistext !! Speicherung in eine Binär-Datei Speicherung in einer ASCII-Datei Laden aus einer binärdatei Laden aus einer ASCII-Datei |
Aufgabe1_fak3.java | |
Aufgabe1 Fibonacci | Ermittelt die Fibonacci-Zahlen | Aufgabe1_fibo.java |
Aufgabe1 Quersumme | Ermittelt die Quersumme einer Zahl | Aufgabe1_quersumme.java |
Aufgabe1 Alle drei Lösungen |
Es sind nun drei "Calc-Schalter" eingefügt. Separate Berechnung. |
Aufgabe1_alles.java |
Aufgabe2 |
Anzeige eines Startfensters Aufruf zwei Zusatzfenster |
Aufgabe2.java Student.bin Matrnr.bin |
Aufgabe2b |
Anzeige eines Startfensters Aufruf zwei Zusatzfenster Aufbau mittels einer Klasse Student SEHR KOMPLEX ! |
Aufgabe2b.java Student2.bin Matrnr2.bin |