Vokabelprogramm - Wer macht mit?

noobadix

Bekanntes Mitglied
Hallo Javaianer,

ich möchte ein Vokabelprogramm in Java. Es soll das beste seiner Art werden, ein Standard. Also wenig Java/Rechenzeit, viel Funktionalität. Und es soll für möglichst viele (Sprech-)Sprachen verwendbar sein.
Die etwas genauere Spezifikation steht in README.txt.

Hab da schon mal was vorbereitet und als Anhang beigefügt und um sich nicht erst durchwurschteln zu müssen habe ich versucht, einen einführenden Text zu schreiben.

Bin freilich bereit, das Konzept über den Haufen zu werfen, wenn jemand bessere Ideen hat.

Über Anregungen und Kritik würde ich mich also freuen.

Gruß N.
 
Zuletzt bearbeitet von einem Moderator:

noobadix

Bekanntes Mitglied
@nrg
und dabei hasse ich arbeit...

@SlaterB
lol...mit wenig java meine ich eigentlich wenig code, also 1.effizient und 2.übersichtlich/verständlich
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
@Sonecc
Ja, das wissen wir seit Klaus Wowereit, d.h. was genau meinst du?

Die Hintergrundfarbe habe ich in der globalen BGCOLOR zum leichten Abändern in weiser Voraussicht festgelegt. Aber Orange hat seinen Reiz :lol:

Oder meinst du den Mix aus AWT und Swing? Man warnt ja gern davor, beide zu kombinieren...bin ich hier ein Risikokandidat? Muss mir das nochmal angucken...



Der Vokabulator ist noch im Entstehen, werd also noch einiges selbst prüfen und recherchieren, aber frage hier schon mal:

Welche ist die schnellste Weise, Einträge in einem Speicherobjekt (array,vector...was sich so anbietet) zu finden?

Soll ich einfach mal Schleifen durchlaufen lassen und die Zeit messen? Oder ist eine Datenbank performanter? Oder was?

Gruß und Dank soweit
N.
 

Sonecc

Gesperrter Benutzer
Ich meinte schon die Farbe, zumal das UI nicht immer einheitlich ist, so gibt es auch ein fenster, welches keine farben besitzt und so weiter.
Ich würde da lieber auf ein alternatives L&F setzen oder ggf. auf dezente Farben (eventuell sogar wählbar?)

Warum implementierst du eigentlich Serializable, setzt aber keine ID?
 

nrg

Top Contributor
Welche ist die schnellste Weise, Einträge in einem Speicherobjekt (array,vector...was sich so anbietet) zu finden?

kommt auf die datenmenge an...
-arrays würd ich mal komplett ausschließen, weil die größe nicht erweiterbar ist.
-vector/list wäre denkbar aber bei größeren mengen sehr unperformant in der selektion.
-hashset/threeset wäre da schon ein tick besser, vorausgesetzt du willst keine duplikate
-hashmap/threemap wäre auch gut, wenn du duplikate ermöglichen willst
-db wäre imho die beste lösung bei größeren datenmengen, weil die daten ohne große probleme auch über die laufzeit hinaus erhalten bleiben. ob duplikate ja oder nein bestimmst du mit dem primärkey

grüße
nrg
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
@Sonecc
...weiß nicht. Stammt noch von nem verworfenen Ansatz, der ganze Kod ist ziemlich verschlampt, vielleicht hätt ich ihn vor der Veröffentlichung doch genauer überarbeiten sollen.

@nrg
Dass Array auch erweiterbar ist, ist ja nur eine selbst geschriebene Methode entfernt. Sonst sind die schon am schlankesten und schnellsten, oder?
Eine Datenbank ist doch wohl die behäbigste aller Möglichkeiten?
 

madboy

Top Contributor
Dass Array auch erweiterbar ist, ist ja nur eine selbst geschriebene Methode entfernt. Sonst sind die schon am schlankesten und schnellsten, oder?
Eine Datenbank ist doch wohl die behäbigste aller Möglichkeiten?
Nein und noch Mal nein :)

Arrays sind zwar "schlank" aber das sagt nichts über die Geschwindigkeit aus.

Es kommt drauf an was du tun willst. Millionen von Datensätzen (was bei einem guten Vokabeltrainer so sein sollte) wirst du effektiv nur in einer Datenbank speichern können. Dafür sind Datenbanken da.

EDIT: Stimmt so nicht ganz. Datenbanken sind im Vergleich zu einer HashMap z.B. wirklich "behäbig" wenn du genau ein Element holen willst. Je nach Datenmenge kannst du aber nicht alle Daten im Arbeitsspeicher halten und komplexe Abfragen sind mit einer Datenbank relativ einfach durchzuführen.

Wie so oft solltest du dir übrigens keine Gedanken über die Performance machen, sondern lieber sauberen Code schreiben. Erst wenn du ein Performanceproblem hast, solltest du schauen wo das her kommt und dann versuchen, es zu beheben.
 
Zuletzt bearbeitet:

Sonecc

Gesperrter Benutzer
@Sonecc
...weiß nicht. Stammt noch von nem verworfenen Ansatz, der ganze Kod ist ziemlich verschlampt, vielleicht hätt ich ihn vor der Veröffentlichung doch genauer überarbeiten sollen.
verschlampt nicht, nur optimierungswürdig^^

DB ist wirklich die sinnvollste Datenhaltungsmöglichkeit
Ich denke aber, dass es hier mehr um die interne Nutzung der Daten geht und nicht um die sicherung der Daten auch über die Programmzeit hinweg...
 

nrg

Top Contributor
@noobadix: überlegt mal was schneller ist bei z.b. 1000 datensätzen

select attribute from table where bedingungen

oder:

//im worstcase 1000x
for (String s : array)
....

grüße

EDIT: das gleiche auch bei list und vector. hashmaps und sets selektieren über den hashcode, was schon eher denkbar ist. treemaps und sets über die baumstruktur (elterknoten > linker kindknoten und elternknoten < rechter kindknoten).

Die Frage ist auch wirklich, ob die Daten noch nach Programmlauf zur Verfügung stehen sollten. Wenn ja -> db. ansonsten tuts auch eine map oder ein set.
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
Habe ich das richtig verstanden, dass mein code dann wegen der DatenbankTreiber auf verschiedene Betriebssysteme ausgelegt sein müsste? Das schadete doch zu sehr der Portabilität, soll ja auch unter Linux funktionieren.
 

Landei

Top Contributor
Schau erst mal die vorhandenen Programme an, z.B. Anki. Es ist ein Riesenaufwand, erst mal diesen Stand zu erreichen, selbst wenn du einige Dinge bestimmt "besser" (was zu beweisen wäre) machen willst.

Das tausendste Vokabelprogramm bringt niemanden wirklich weiter, insbesondere weil es da schon wirklich gute Sachen gibt. Investiere deine Arbeit lieber in konzeptionell neue, innovative Programme, oder helfe bei vorhandene Projekten.
 

noobadix

Bekanntes Mitglied
@Landei

Da sind so eins zwei Sachen, die ich vermisse, z.B. eine Erweiterung des Progs in J2ME, Synchronisation dann ganz edel per Bluetooth. Ferner sollen die speziellen Formen für Lateinvokabeln berücksichtigt werden.

Das in Kombination zeig mir mal.

Aber eigentlich hast du Recht, gibt Wichtigeres.

Trotzdem hier mal n kurzes update, habe lediglich ein paar Kleinigkeiten verändert.
 
Zuletzt bearbeitet von einem Moderator:

diggaa1984

Top Contributor
Bin freilich bereit, das Konzept über den Haufen zu werfen, wenn jemand bessere Ideen hat.

dann fang mal an das was du bisher hast, sinnvoll in mehrere klassen auszulagern und dann darfst du anfangen von Synchronisation, Erweiterbarkeit und den ganzen Spielchen zu träumen :)

ich korrigiere: in mehrere Dateien auslagern, viele Klassen hast ja schon
 
Zuletzt bearbeitet:
B

bygones

Gast
Das tausendste Vokabelprogramm bringt niemanden wirklich weiter, insbesondere weil es da schon wirklich gute Sachen gibt. Investiere deine Arbeit lieber in konzeptionell neue, innovative Programme, oder helfe bei vorhandene Projekten.
warum wollen alle immer und ueberall die neuste und beste Killer-App erfinden ?

wenn jemanden unklar ist, welche Persistenzstrukturen wann wie einsetzbar sind sind solche Ratschlaege meiner Ansicht nach absolut unnuetz. Hier steht das Lernen im Vordergrund.

Ich wiederhol mich gerne: Es moege der die Hand heben der fuer seine ersten Java Programme die absolute neuwertige und unbekannt Applikation geschrieben hat

q.e.d
 

noobadix

Bekanntes Mitglied
Dass ich als Speicher eine Klartext-Datei verwende steht fest. Die kann dann auch von Hand editiert oder kopiert oder von anderen Programmen, bzw Vokabulator 2 :eek: eingelesen werden.

Datenbanken schließe ich aus. Die Vokabelmenge wird die Million wohl nicht annährend erreichen, nun muss ich mir eben überlegen, wie möglichst wenig Schleifendurchläufe vollzogen werden, bzw. wie und ob ich das mit ner HashMap anstelle.

Wie das mit dem Auslagern in mehrere Dateien funktioniert weiß ich, aber was solls bringen?

dankbeklebten Gruß
N.
 

diggaa1984

Top Contributor
Wie das mit dem Auslagern in mehrere Dateien funktioniert weiß ich, aber was solls bringen?
einen groben Ansatz von Modularisierung, Kapselung und Übersicht ;) .. einen riesen Schritt mehr in Richtung vernünftige Software. Du wirst es dir selbst danken .. glaub mir ;)

Wenn dein super-Vokabeltrainer wahr werden soll, wirst du nich mit 1000 zeilen Code auskommen, und die alle in einer Datei .. :eek:

Eigentlich ist deine jetzige Datei aus architektonischer Sicht ne Kathastrophe .. ich will mir nich die Zeit nehmen das durchzugehen und zu erweitern oder dergleichen. Sowas muss man wie n Bauklotz konzipieren .. die steckst aufeinander und blub hast was komplexes.

Ein Haus schneidest ja auch nich aus nem 1500m³ Betonklotz raus
 
Zuletzt bearbeitet:
B

bygones

Gast
lol

also ehrlich - man kanns mit der "super-duper-daten-struktur" fuer einen simplen Vokabeltrainer auch ziemlich uebertreiben.

Kennt keiner das Prinzip das Premature Optimization somit das toedlichste aller Vergehen in der Softwareentwicklung sind ?

Versteh ich nicht.

Mein Rat:

Nim ne simple HashMap und arbeite mit der... wenn in unbekannter Zukunft irgendwann einmal du das problem bekommst dass die Performance / Speicher / Wartbarkeit nicht mehr tragbar ist - DANN suche bessere Loesungen.

Anzufangen mit der Meinung "Oh ich werde ganz bestimmt auf Probleme stossen, ich brauch die ultimative Loesung" - wird das Programm mehr zerstoeren.

sorry - ich kanns nicht verstehen warum hier jeder auf Teufel komm raus versucht irgendwelche Speicherstrukturen zu propagieren....

bygones
 

Sekundentakt

Bekanntes Mitglied
Ich find's scheen, mich in euerer Sonne des Wissens bräunen zu dürfen xD

Es wird Dir nichts bringen, wenn Du weißt, wie Du einer Applikation einen Performance-Boost von 100% verschaffen kannst, wenn:
a) dieser Performance-Gewinn in der Praxis keinen signifikanten Vorteil bringt (Aufwand/Nutzen)
b) Du vor lauter Wissen sammeln nicht dazu kommst, dieses Wissen auch praktisch nützlich anzuwenden.

Wenn Du auf Werkzeuge zurückgreifst, die schon zig Leute vor Dir optimiert und noch wesentlich mehr Menschen eingesetzt haben, dann spricht prinzipiell nichts dagegen, diese auch zu verwenden.
Eine eigene Implementierung macht m.E. nur dann Sinn, wenn es zwingend notwendig ist, um eine angemessene Performance zu erreichen ODER, weil es sich rechnen würde.

Ein Beispiel:
Wenn Google/Yahoo!/bing von Haus aus 0,5 Sekunden braucht, um Dir gute Resultate auf Deine Anfrage zu liefern, dann ist eine Performancesteigerung von 20% aus Usersicht nicht zwingend erforderlich.
Ob ich die Suchergebnisse nun in 0,5 oder 0,4 Sekunden geliefert bekomme, wird keiner spürbar wahrnehmen.
Wenn eine Suchmaschine aber durch diese Performancezugewinne Hardware sparen oder diese anderweitig gewinnbringend einsetzen kann, dann ergibt es Sinn, über Performanceoptimierung nachzudenken.

ABER, und das wurde auch versucht hier zu verdeutlichen, WENN Larry Page und Sergei Brin von Anfang an jede ihrer Lösungen noch vor der Implementierung verworfen hätten, um sie durch eine theoretisch performantere Lösung zu ersetzen, wären sie heute wahrscheinlich keine Milliardäre, sondern immer noch am Werkeln.
 
Zuletzt bearbeitet:

ThreadPool

Bekanntes Mitglied
lol

also ehrlich - man kanns mit der "super-duper-daten-struktur" fuer einen simplen Vokabeltrainer auch ziemlich uebertreiben.

Kennt keiner das Prinzip das Premature Optimization somit das toedlichste aller Vergehen in der Softwareentwicklung sind ?

Versteh ich nicht.

Mein Rat:

Nim ne simple HashMap und arbeite mit der... wenn in unbekannter Zukunft irgendwann einmal du das problem bekommst dass die Performance / Speicher / Wartbarkeit nicht mehr tragbar ist - DANN suche bessere Loesungen.

Anzufangen mit der Meinung "Oh ich werde ganz bestimmt auf Probleme stossen, ich brauch die ultimative Loesung" - wird das Programm mehr zerstoeren.

sorry - ich kanns nicht verstehen warum hier jeder auf Teufel komm raus versucht irgendwelche Speicherstrukturen zu propagieren....

bygones

Kennst du das ursprüngliche Zitat?

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."

Es drehte sich dort um "Mikrooptimierungen". Die Frage der Datenstruktur und zu verwendenden Algorithmen ist eine "Designentscheidung" die ganz am Anfang des Entwicklungsprozesses steht. Das hat nur wenig mit Mikrooptimierungen zu tun. Hier geht es darum ein Design unter den Aspekten Robustheit, Skalierbarkeit und natürlich auch Ausführungsgeschwindigkeit zu entwerfen. Bei einem Vokabeltrainer mag das nicht so offensichtlich sein, da man schnell andere Algorithmen reinbasteln kann. Aber wenn man schon während man entwirft weiß das A für eine Anwendung besser funktioniert als B weshalb soll man unnötig Zeit in B investieren? Nur, weil mir Java das vielleicht schon bietet? Allerhöchstens für einen Prototypen. Und als zweiter Aspekt in Bezug zu dem Thread hier ist der Blick über den Tellerand und das man etwas lernt. Ich bin davon überzeugt das der OT mehr lernt wenn er mal eine oder mehrere Alternativen ausprobiert.
 

Landei

Top Contributor
...
Ein Haus schneidest ja auch nich aus nem 1500m³ Betonklotz raus

Ahem...
the-monestary-at-petra.jpg
 

diggaa1984

Top Contributor
sowas ist mir bekannt (Felsenstadt Petra) .. aber nicht ganz in greifbarer nähe des threadopeners ;) und ausserdem is das da kein Beton :D
 
Zuletzt bearbeitet:

Sekundentakt

Bekanntes Mitglied
Aber wenn man schon während man entwirft weiß das A für eine Anwendung besser funktioniert als B weshalb soll man unnötig Zeit in B investieren? Nur, weil mir Java das vielleicht schon bietet?
Das kannst Du aber auch nicht so absolut stehen lassen.

Es muss auch irgendwo in einem Verhältnis stehen, bei dem sich der Aufwand lohnt (s. mein Posting).
Insofern ist es vielleicht eine klügere Entscheidung, auf A zu verzichten, wenn der Implementierungsaufwand von A keinen entscheidenden Vorteil gegenüber B bringen würde. Dem Beispiel folgend, ist auch ein Verzicht auf B professioneller, vorausgesetzt - ich wiederhole mich mal :) - B bringt keinen entscheidenden Vorteil.

Das richtige Abwägen von Lösungen empfinde ich mindestens für genau so wichtig, wie den von Dir beschriebenen Aspekt des Softwaredesigns. Mein Beitrag bezog sich auch eher auf eine kommerzielle Arbeitsumgebung - privat hat man schließlich alle Zeit der Welt ;).
 

Landei

Top Contributor
...
Ich wiederhol mich gerne: Es moege der die Hand heben der fuer seine ersten Java Programme die absolute neuwertige und unbekannt Applikation geschrieben hat

q.e.d

Meine erstes ernsthafteres Java-Programm war ein kleines Demo für den verteilten Zugriff auf eine gemeinsame Resourcen (Vorlesung "Verteilte Systeme"), also nicht besonders innovativ. Nummer zwei war Teil meiner Diplomarbeit ("Computergestützte Auswahl einer optimalen Entscheidungsalternative") und transformierte ein "anschauliches", aber nicht direkt berechenbares Modell in ein komplizierteres, aber mit Standard-Optimierungsprogrammen (wie LP-Solve) zu lösendes ganzzahlig-lineares Modell, und an dieser Stelle würde ich gern meine Hand heben (wobei fairerweise gesagt werden muss, dass die Mathematik - etwa die kreative Benutzung der vorhandenen Modelle - innovativ war, weniger das Transformationsprogramm an sich)
 

noobadix

Bekanntes Mitglied
Nein, nix hat "sich" erledigt. ICH ringe derzeit mit den Tücken der Layoutmanager und solchem Kram.

Persistent werden die Vokabeln also in einer Textdatei gespeichert. Zur Laufzeit werde ich die Vokablen mit IDs versehen und sie demnach einer HashMap zuordnen.

Dann werde ich den SourceCode in mehrere Dateien unterteilen, damit ich Teile des Proggs wiederverwerten kann und damit theoretisch andere leichter einsteigen könnten, bzw. dass sich die Arbeit geteilt werden kann.

Dann werde ich mir die Beiträge nochmals genau ansehen und gucken, was ich wo noch optimieren kann, sry, dass ich so lange brauche...hab nur mittlere Reife ^^

Die WeedMap suchend
N.
 

DamienX

Aktives Mitglied
lol

also ehrlich - man kanns mit der "super-duper-daten-struktur" fuer einen simplen Vokabeltrainer auch ziemlich uebertreiben.

Kennt keiner das Prinzip das Premature Optimization somit das toedlichste aller Vergehen in der Softwareentwicklung sind ?

Versteh ich nicht.

Mein Rat:

Nim ne simple HashMap und arbeite mit der... wenn in unbekannter Zukunft irgendwann einmal du das problem bekommst dass die Performance / Speicher / Wartbarkeit nicht mehr tragbar ist - DANN suche bessere Loesungen.

Anzufangen mit der Meinung "Oh ich werde ganz bestimmt auf Probleme stossen, ich brauch die ultimative Loesung" - wird das Programm mehr zerstoeren.

sorry - ich kanns nicht verstehen warum hier jeder auf Teufel komm raus versucht irgendwelche Speicherstrukturen zu propagieren....

bygones

Sorry bei allem respekt aber das muss ich nochmal aufrollen. Jeder Entwickler (auch ich) musste
sich am Anfang die selbe Leier anhören. Und zwar dass man sich VORHER gedanken macht wie man
ein Projekt umsetzt (Phasenkonzept blabla). Ausserdem spielen bei solchen Projekte die Datenstrukturen
zudem eine entscheidende Rolle. Probleme im voraus zu erahnen (BEVOR sie auftreten) ist meiner Meinung nach eine
Kernaufgabe des Entwicklers. Unabhängig davon ob ich dich da richtig interpretiert habe... das sollte noch hier rein!

P.S.: Vor allem ist die Gefahr von MemLeaks bei ottonormal HashMaps nicht zu unterschätzen.

Mfg Alex
 

noobadix

Bekanntes Mitglied
Hallo,

vielen Danke für eure Mühe bisher. Ja, eigentlich möchte ich auf alle realistischen Eventualitäten vorbereitet sein, da ist also noch einiges in Sachen Fehlerbehandlung zu tun.

Was die Speicherstruktur zur Laufzeit angeht habe ich noch nichts verändert und auch sonst keine tiefgreifenden "Performanceverbesserungen" vorgenommen.

Aber ich habe eine grobe Unterteilung der Klassen vorgenommen, ein Jar erstellt und Javadoc begonnen.

Dass es um globale Variablen nicht so gut steht hab ich schon irgendwo irgendwie aufgeschnappt. Also besteht keine Möglichkeit außer der "extends" - Erweiterung, eine Variable in mehreren Klassen desselben packages zu benutzen?

Wie die einzeilige Kurzbeschreibung einer Methode in Javadocs aussehen muss, hab ich gerafft, aber wie die ausführliche Beschreibung implementieren? Mag mir wer auf die Sprünge helfen?:

Java:
...

/**
*
*Das kommt in die Kurzbeschreibung
*
*@author Hr. Daskannichauchschon
**/
public void tolleMethode(){ //macht nix}

...

Hier der Zwischenstand:
 
Zuletzt bearbeitet von einem Moderator:

eRaaaa

Top Contributor
a)Dass es um globale Variablen nicht so gut steht hab ich schon irgendwo irgendwie aufgeschnappt. Also besteht keine Möglichkeit außer der "extends" - Erweiterung, eine Variable in mehreren Klassen desselben packages zu benutzen?

-----------------------

b)Wie die einzeilige Kurzbeschreibung einer Methode in Javadocs aussehen muss, hab ich gerafft, aber wie die ausführliche Beschreibung implementieren? Mag mir wer auf die Sprünge helfen?:

Hast du bei a) mal ein konkretes Beispiel? Also mit getter und setter solltest du doch von überall, wo du willst, darauf zugreifen können? Oder versteh ich die Frage falsch?

Und bei b) kann ich dir auch nicht ganz folgen, was du mit ausführlicher Beschreibung meinst?
Java:
    	/**
    	 * 
    	 * Calls JFrame.setSize(x,y) and JFrame.setLocation(px,py) and setVisible(true).
    	 *  
    	 * @param x x-Koordinate for JFrame.setSize(x,y)
    	 * @param y y-Koordinate for JFrame.setSize(x,y)
    	 */
    	public void showUp(int x, int y){
    		this.pack();
    		this.setLocation(x,y);
    		this.setVisible(true);
    	}
Bis auf den Teil, dass du vermutlich setSize durch pack() ersetzt hast irgendwann und x und y nicht für setSize verwendet wird, sondern anscheinend für setLocation (hast wohl was an der Methode geändert, aber den Kommentar nicht mit verändert *g*) sieht doch das vom Aufbau her garnicht schlecht aus?! Vllt bei der Beschreibung nicht sagen was aufgerufen wird, sondern eher was die Methode macht.

How to Write Doc Comments for the Javadoc Tool vllt. ganz interessant!
 

noobadix

Bekanntes Mitglied
@eRaaaa #36

Hallo Nachtschwärmer,

danke, dass du mich mine pahr fählas tsaighst.

Problem a)
Dir liegt ja mein Code vor. In der Variablen MAINVOC der Klasse Vokabulator wird der Speicherinhalt geladen. Darauf möchte ich nun auch in der Klasse Wordtest zugreifen können. Habe das nun so gelöst, dass ich MAINVOC dem Konstruktor von Wordtest übergebe, allerdings kann MAINVOC auch mal ganz schön fett werden. Habe ich das richtig verstanden, dass damit ein zweites Objekt geklont wird und nicht einfach eine neue Referenz erzeugt wird? Falls ja, wäre das evtl. problematisch.

Problem b)
Habe einen Screenshot angehängt, in dem zu sehen ist, dass ich das Problem gelöst habe. Die einzeilige Klassen-/Methodenbeschreibung (hier der Klasse GuiTools) wird mit Punkt und Absatz beendet. Der Rest wird in der Javadoc als "ausführlichere" Beschreibung via Link angezeigt.
Im Beispiel wird in der Kurzbeschreibung der Text BIS "yeah" angezeigt, via Link dann mit "yeah"
Ein Bild sagt mehr als zig Worte:
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Problem a)
Dir liegt ja mein Code vor. In der Variablen MAINVOC der Klasse Vokabulator wird der Speicherinhalt geladen. Darauf möchte ich nun auch in der Klasse Wordtest zugreifen können. Habe das nun so gelöst, dass ich MAINVOC dem Konstruktor von Wordtest übergebe, allerdings kann MAINVOC auch mal ganz schön fett werden. Habe ich das richtig verstanden, dass damit ein zweites Objekt geklont wird und nicht einfach eine neue Referenz erzeugt wird? Falls ja, wäre das evtl. problematisch.

Also ich hätte dir jetzt genau das vorgeschlagen :) (man hätte es vllt. auch mit einem setter-"injektieren" können)
Da wird auch nichts "geklont" : Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.6 Mit Referenzen arbeiten :toll:
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
So, das ist zwar immernoch keine Version, die den bisherigen Beiträgen und Überlegungen Rechnung trägt, aber sie ist so weit ich es erkennen kann bug-frei.

Hat schon was exhibitionistisches, he? Sry

Aber es wird nicht mehr lange dauern, dann kann das ding auch per bluetooth mit j2me kommunizieren und zack! kann man in der U-Bahn oder so andere Wörter für dieselben Sachen lernen.

:toll:

><
 
Zuletzt bearbeitet von einem Moderator:

noobadix

Bekanntes Mitglied
So, ich denke, das isses. Sollte jemand die Lust und Muße haben das Programm nach bugs zu durchsuchen oder mir andereitig Feedbacks zu geben, würde ich mich freilich freuen. Was das Speichermanagement angeht habe ich iiiiimmmmmmernochnichts geändert, aber ich möchte zunächst eine funktionierende Version haben. Das sollte sie jetzt sein, bis auf das richtig-icon im Abfragemodus, das muss ich noch selbst generieren.

Was auch noch nicht funktioniert ist die Kommunikation via Bluetooth, vielleicht hat jemand Erfahrung mit Bluecove/J2ME und Lust mir meinen Fehler aufzuzueigen? Habs aufgegeben. Ich möchte eigentlich erstmal nur einen String vom Handy zum PC schicken, so ist sind die Dateien bluesync.java und dingsbumsmobile.java ausgelegt.

Falls es jemand gebrauchen kann, viel Spaß damit.
 
Zuletzt bearbeitet:

Landei

Top Contributor
Wenn du denkst, dass es ein nützliches Programm ist, und du es der Öffentlichkeit zugänglich machen willst, solltest du dir eine passende Lizens raussuchen und das Ding auf SourceForge, Google Code oder so packen. Vielleicht findest du ja auch so Leute, die dir mir Bluetooth und dem Rest helfen. while(World.sucks()) und so weiter...
 

noobadix

Bekanntes Mitglied
Wie das mit der Lizenz funktioniert hab ich noch nicht rausgefunden. Ich will lediglich, dass DIESES Programm so in der Form umsonst zu haben ist. Werd mal los googlen.
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
Ah, das ging ja leichter als gedacht. Das gute Stück ist nun unter Dingsbums auf sourceforge zu finden :)

Danke Landei für den Hinweis.
 

noobadix

Bekanntes Mitglied
Diggaa, das ist heutzutage nicht mehr so einfach einen passenden legalen Namen für nen Vokabeltrainer zu finden. Da ist dingsbums eigentlich gar nicht soo schlecht :(
 

noobadix

Bekanntes Mitglied
Boah...jut javimka, sehr jut, wird ad hoc übernommen. Da wird sich zwar bestimmt bald einer drüber ärgern, aber...ich bin's nicht xD

edit: obwohl...hach nee ich heiße ihn: Tribuit. JVokabeltrainer impliziert ein Niveau, das ich wohl nicht bedienen kann. Aber der Name an sich ist gut.
 
Zuletzt bearbeitet:

noobadix

Bekanntes Mitglied
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
N Division macht Probleme Allgemeine Java-Themen 14
berserkerdq2 IJVM, ich tue auf meinen Stack 100 und 120 rein, danach subtrahiere ich, macht die Maschine 100-120 oder 120-100? Allgemeine Java-Themen 8
OnDemand Anzeigen was eine Applikation macht Allgemeine Java-Themen 1
H Swing HashMap zu Tabelle macht mir Probleme Allgemeine Java-Themen 4
M 4 Gewinnt KI macht nicht, was sie soll.. Allgemeine Java-Themen 1
P Eclipse Projekt anlegen macht Problem Allgemeine Java-Themen 1
WetWer Was bedeutet/macht ein Exit-Code Allgemeine Java-Themen 1
O OOP Wie macht man das am besten OO? Allgemeine Java-Themen 8
Thallius Macht das Sinn? Allgemeine Java-Themen 30
F Java Native/Shared Library (.so) laden macht Probleme Allgemeine Java-Themen 3
X Was macht folgender Code!? Allgemeine Java-Themen 6
J Doppelte Buchstaben löschen - letztes Wort macht er nicht Allgemeine Java-Themen 2
J if else Anweisung macht nicht was es soll. Wieso? Allgemeine Java-Themen 10
M Google App Engine macht Probleme Allgemeine Java-Themen 4
GilbertGrape Warum macht man "if(true)" Allgemeine Java-Themen 18
C Klassen Was macht diese Java-Mathe-Klasse? Allgemeine Java-Themen 2
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
S Javadoc 3d einbinden macht probleme Allgemeine Java-Themen 10
B Unix-Timestamp > Date macht Probleme. Allgemeine Java-Themen 3
T Ausdruck mit pdfBox macht Probleme Allgemeine Java-Themen 2
B jar File macht probleme wegen einer Methode! Allgemeine Java-Themen 5
alderwaran jaxb xsd schema, min/maxoccurs macht was? Allgemeine Java-Themen 7
S AWT StringBuffer macht nicht, was ich erwarte Allgemeine Java-Themen 2
E Timer class macht einfach garnichts :/ Allgemeine Java-Themen 6
S Anschauen was der Compiler macht..? Allgemeine Java-Themen 5
bj99 ImageIO.write() macht Probleme Allgemeine Java-Themen 7
I Was macht static { ... } ? Allgemeine Java-Themen 8
N Für welche Art von Berechnungen macht JCUDA Sinn? Allgemeine Java-Themen 12
P JMF macht mich verrückt Allgemeine Java-Themen 3
R PDF Formular mit JPod ausfüllen macht Probleme Allgemeine Java-Themen 4
G Wie kriegt Klasse2 die Info, was Klassse1 gerade "macht Allgemeine Java-Themen 7
Escorter was macht createHorizontalGlue() Allgemeine Java-Themen 2
T Serialisierung: Wie macht RMI das so schnell? Allgemeine Java-Themen 14
J Was macht dieser Code? Allgemeine Java-Themen 13
S Was macht der Java-Verifier? Allgemeine Java-Themen 4
T Problem, warum macht der das so(finde kein titel.) Allgemeine Java-Themen 3
I Irre Website-Wie macht man sowas? Allgemeine Java-Themen 6
U if Abfrage macht etwas falsch Allgemeine Java-Themen 2
G javadoc macht probleme Allgemeine Java-Themen 2
A equals() macht nicht, was es soll Allgemeine Java-Themen 4
B Vergleichen von arrays macht Probleme Allgemeine Java-Themen 2
M JBoss macht Probleme Allgemeine Java-Themen 6
P Wie macht Sun Gewinn mit Java? Allgemeine Java-Themen 3
Maximum '.' in String ersetzen macht Schwierigkeiten Allgemeine Java-Themen 2
T Klassen samt Methoden aus Jar-Archiv laden macht Problem Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben