-
Gesamte Inhalte
2093 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von kingofbrain
-
Servus, ich habe mit dem RandomAccessFile noch nicht gearbeitet, aber die API Doc für die Methode writeChar (Grundlage für writeChars) sagt mir, dass die Zeichen als zwei Byte Werte geschrieben werden mit dem hohen Byte zuerst. Das würde ich als Grund annehmen. Peter
-
Problem mit Elipse/Hibernate - Bitte um dringende Hilfe
kingofbrain antwortete auf Buergy's Thema in Java
Ja, ich habe einen Vorschlag. Besorg Dir ein Buch mit Java Grundlagen und beschäftige Dich mit Themen Classpath, starten der VM, Packages und so weiter. Mach das Semester noch mal und dann mit richtigem Hintergrundwissen. Die Klasse, die Du anmäkelst, hört sich stark nach einer Klasse aus dem Tutorial an (Package). So wirst Du vermutlich so lange rumstöpseln, bis Du etwas hast, das irgendwie läuft, aber verstanden hast Du es dann noch nicht. Und das ist das Ziel des ganzen - und nicht, das Semester hinter Dich zu bringen. Peter -
Eine Schnittstelle ist mehr als eine Erinnerungsfunktion, sie ist ein Vertrag. Wenn Du ein Interface implementierst, dann verpflichtest Du Dich, die dort enthaltenen Methoden zu implementieren. Das ist der Vertrag. Du kannst jederzeit eine actionPerformed Methode bereitstellen, ohne ein Interface zu implementieren. Aber keiner wird von Dir wissen, dass Du ein ActionListener bist, und deshalb macht das keinen Sinn. Überleg mal von der Seite des Verwenders. Du willst, dass auf einen Button Klick etwas passiert. Es ist Dir völlig egal, wie die Klasse heißt, was sie sonst noch so macht, sie soll nur eine actionPerformed-Methode haben. Deshalb brauchst Du einen ActionListener. Jeder, der sich bereit erklärt, diese Schnittstelle zu implementieren, kann prinzipiell von Dir verwendet werden. Peter
-
Problem mit Elipse/Hibernate - Bitte um dringende Hilfe
kingofbrain antwortete auf Buergy's Thema in Java
Dann hast Du Dich beim posten vertan, weil die Fehlermeldungen oben waren die selben. Google kennt Deine Klasse: com.sun.jdi.connect.illegalconnectorargumentsexception - Google-Suche Und Google sagt mir, dass es sich um eine Bibliothek aus dem Bereich jpda handelt. Wenn Dein Tutorial Dir nicht sagt, welche Bibliotheken Du benötigst, dann ist es schlecht. Peter -
Also deprecated ist Vector zumindest bis zur Version 6 nicht. Allerdings ist er wirklich langsamer als die meisten anderen Collections (aber auch ein Vector ist eine Collection und implementiert das List Interface). Die "offizielle" Quelle ist die API Documentation des 6er JDK, dort steht drin, dass Vector synchronized ist. Vector soll und darf verwendet werden, wenn man einen Grund dafür hat (und eben die synchronized Features braucht). Allerdings gibt es dafür auch die Factory-Methoden in Collections. Peter
-
Auch ich kann nur raten, was Du willst, aber ich tippe auf Multithreading. Du lagerst Deine lang laufenden Operationen in Threads aus und kehrst zur Kommandozeile zurück. Dort kann dann wieder auf Eingaben gelauscht und entsprechend reagiert werden. Wenn jetzt ein Abbruch gewünscht wird, dann musst Du den Thread eben entsprechend manipulieren. Peter
-
Problem mit Elipse/Hibernate - Bitte um dringende Hilfe
kingofbrain antwortete auf Buergy's Thema in Java
Servus, der zweite Fehler ist doch genau wie der erste, oder? Dir fehlen scheinbar die AspectWerkz Klassen für Aspektorientierte Programmierung. Steht in Deinem Tutorial nichts über die Bibliotheken, die Du im Classpath haben solltest? Die AspectWerkz Seite ist übrigens aspectwerkz.codehaus.org (naja, nicht so überraschend, bei dem Packagenamen. Peter -
Problem mit Elipse/Hibernate - Bitte um dringende Hilfe
kingofbrain antwortete auf Buergy's Thema in Java
Servus, also ich habe mir den Code von Dir jetzt nicht komplett durchgelesen, aber bist Du Dir sicher, dass Deine Hibernate Konfiguration im Wurzelverzeichnis liegt (Unter Windows evtl. C:\, unter Linux /)? Dort zeigst Du nämlich mit der Angabe "/hibernate.cfg.xml" hin. Mein Tipp: Wenn Du nach Tutorials arbeitest, verwende nur eines und mach das durch. Wenn Du verstanden hast, was Du tust, kannst Du das Beispiel abändern und durch Sachen aus anderen Quellen erweitern. So stocherst Du im Nebel, schraubst hier und dort mal rum und wenn Du Glück hast, läuft irgendwann mal was. Aber verstanden hast Du es dann nocht nicht. Peter -
Guten Morgen. Schau doch mal bei sourceforge.net oder dev.java.net. Hier solltest Du für den Bereich Java genug finden. Peter
-
Also Dein Minimalbeispiel ist korrekt. Du schiebst einen String rein und bekommst ein Objekt raus. Leider hast Du nicht gezeigt, wie Du das zuweist. Beispiel (geht nicht): List list = new LinkedList(); list.add("bla"); String bla = list.get(1); Du erwartest, dass ein String zurück kommt, weil Du einen rein gesteckt hast. Das stimmt, aber der Rückgabetyp von get() ist Object. Folgendes ist also korrekt: List list = new LinkedList(); list.add("bla"); Object bla = list.get(1); Oder folgendes: List list = new LinkedList(); list.add("bla"); String bla = (String) list.get(1); Du castest das Rückgabeobjekt auf den korrekten Typ. Du musst halt wissen, was dieser Typ ist. Die Warning, die Du bekommst, geht genau auf das Problem ein: Du sollst der Liste sagen, welche Typen sie verwaltet, dann ist sie typsicher (parameterized): List<String> list = new LinkedList<String>(); list.add("bla"); String bla = list.get(1); Jetzt funktioniert das, weil die Liste nur Objekte vom Typ String aufnimmt und auch wieder ausspuckt. Ein Tipp: Lies Dir das Generics Tutorial von Sun durch, das erklärt die Geschichte: http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf Peter
-
Preis für Softwareentwicklung - Eure Einschätzung bitte
kingofbrain antwortete auf MS47475's Thema in IT-Arbeitswelt
Definiere "so eine Konstellation". Ich bekomme regelmäßig diesen Stundensatz, allerdings handle ich den auch vorher aus. Aber auf diese Problematik habe ich ja hingewiesen. Und zum Thema Steuererklärung: Wenn ich wegen einem einzigen Auftrag eine Steuererklärung (evtl. die erste in meinem Leben, die mich zu weiteren verpflichtet) abgeben muss, dann überlege ich mir das sehr gut. Aber auch das hätte bereits vorher passieren müssen. Peter -
Preis für Softwareentwicklung - Eure Einschätzung bitte
kingofbrain antwortete auf MS47475's Thema in IT-Arbeitswelt
Servus, also ich denke, Ihr habt schon mal einen Fehler gemacht, weil Ihr Euch das jetzt überlegt. Eigentlich sollte das vor Beginn der Entwicklung definiert sein, wie die Software später bezahlt wird. Dann solltet Ihr nicht vergessen, dass Ihr für die verkaufte Software Gewährleistung zu leisten habt. Das ist auch in die Kostenschätzung mit aufzunehmen. Zum Schluss finde ich 60,- Euro pro Stunde einen echten Freundschaftspreis, weil Ihr dieses Geld ja noch versteuern müsst. Wenn es Euer einziges Projekt für das Jahr war, müsst Ihr extra deswegen eine Steuererklärung machen. Ich würde bei so einer Sache von 80,- bis 120,- Euro pro Stunde ausgehen, da dann Themen wie Gewährleistung und Mehraufwände auf meiner Seite abgedeckt sind. Allerdings müsst Ihr Euren "Kunden" davon überzeugen, dieses Geld zu investieren. Schließlich kann er sagen: Och nö, dann doch nicht. Und dann habt Ihr gar nichts. Vielleicht kann man sich auf einen Mittelweg einigen, das habe ich auch schon ein paar Mal gemacht: Ihr erhaltet einen geringeren Festpreis und seid dafür mit einem Prozentsatz an den Einnahmen oder am Gewinn beteiligt. Peter -
Servus, am besten vergisst Du Dein zweidimensionales Array und arbeitest mit Objekten. Dann hast Du eine Menge von diesen Objekten (mit Deinen Koordinaten und dem Wert). Diese Objekte können dann Comparable implementieren und Du kannst sie in einem Array (besser eine Collection -> List, Set, ...) aufbewahren und über die Standardfunktionalität sortieren lassen (z.B. Collections.sort() bei List). Peter
-
mit Abschluss zum FIAE studieren?
kingofbrain antwortete auf therget's Thema in Ausbildung im IT-Bereich
Warum würdest Du denn "generell" abraten, und wem würdest Du es im Einzelfall empfehlen? Peter -
Servus, das ist ja lustig. Ich habe mein Beispielprojekt von gestern noch mal in Eclipse geöffnet und heute kompiliert es mit der selben Fehlermeldung wie bei Dir nicht mehr. Gestern hat mir Eclipse keinen Fehler gezeigt. An den benötigten Aufruf eines Super-Konstruktors habe ich natürlich nicht gedacht. Das stimmt, dass dann bei einer Superklasse, die ausschließlich private Konstruktoren definiert, keine Subklasse mit einem Konstruktor irgendeiner Art definiert werden kann. Das ist ja dann eigentlich auch so eine Art final, oder? Sorry für die Verwirrung - ich gelobe das Kompilieren ausschließlich mit der Kommandozeile für zukünftige Showcases. Peter
-
Furchtbar: ja, das stimmt. Der Tipp mit JGoodies ist schon der richtige. Nicht umsonst berät Karsten Lentzsch, der Entwickler von JGoodies, Sun in Fragen zu Swing und Layouts seit einiger Zeit. Leider gibt es als Folge dieser Beratung noch keinen konkreten und so schön verwendbaren LMs im JDK, so dass Forms auch weiterhin ein Standard bei mir sein wird, wenn ich Fat Clients entwickle. Ich dachte früher auch, dass GBL ganz ok ist, wenn man es mal verstanden hat. Nach dem ersten JGoodies Test war das nicht mehr so. Peter
-
Ich habe heute morgen aus dem Bauch heraus auch erst mal gesagt, dass das nicht geht. Aber das Beispiel dazu ist trivial und kompiliert: public class Foo { private Foo() {} } public class Bar extends Foo { public Bar() {} } Und selbst, wenn das nicht gegangen wäre, dann könnte ich den Konstruktor ja ohne Probleme überladen und den Kontruktor öffentlich machen. Ich glaube, die Sichtbarkeit verringern innerhalb einer Subklasse geht nicht, aber Sichtbarkeit erhöhen ist möglich. Und deshalb wird es schon dieser Grund sein, der für ein final spricht. Die generelle Empfehlung, final dort zu verwenden, wo es möglich ist, ist ja ein anderes Thema. Peter
-
WebService starten ohne ie zu öffnen
kingofbrain antwortete auf Thema in Skript- und Webserverprogrammierung
Dann ist curl wirlich das richtige Werkzeug für Dich. Gibts auch für Windows. curl windows - Google-Suche Peter -
Ich habe jetzt das Pattern nicht in der Originaldefinition im Kopf, vermute aber, dass sich das "final" darauf bezieht, dass man ansonsten ohne Probleme eine Subklasse Deines Singletons definieren kann und dieser dann einen öffentlichen Konstruktor spendiert. Damit wäre diese Subklasse aber kein Singleton mehr. Durch die Vererbung wird aber eine "ist ein" Beziehung definiert und damit hast Du einen semantischen Fehler und potenzielle Probleme. Peter
-
Servus, das Zauberwort heißt generics und geht seit Java 1.5. Es gibt ein ganz gutes Beispiel für ein generisches Hibernate DAO: http://www.hibernate.org/328.html Das kann man recht gut für andere Zwecke anpassen. Im Endeffekt sagst Du damit einer konkreten Klasse, dass sie von einer generischen Klasse erbt und damit die in der generischen Klasse noch generischen Methoden konret enthält. Peter
-
Java Applet / Quelltext [war: Frage !!!11einself]
kingofbrain antwortete auf seng fu's Thema in Webdesign
Ein Thema: ein Thread. simple Antwort: gar nicht. Du musst Dein Applet kompilieren und dann die entstehende(n) class File(s) hochladen. Das geht mit einem Kopierwerkzeug Deiner Wahl. Peter -
Servus, das liegt daran, dass es so in der Dokumentation steht: Date (Java 2 Platform SE v1.4.2) Für Zeit und Datum gibt es die Klasse Timestamp. Und genau das, was Du in Deinem vorletzten Post gemacht hast, habe ich Dir seit meiner ersten Antwort versucht, zu erklären. Wenn Du erfolgreich Software entwickeln willst, solltest Du in meinen Augen solche Bastellösungen nicht vorsehen. Ein Datum ist ein Datum und keine Zeichenkette, auch wenn ich ein Datum auf verschiedene Art und Weise als Zeichenkette darstellen kann. Schöne Grüße, Peter
-
Gut. Ich habe jetzt leider immer noch nicht die Informationen, die ich haben wollte, und Deine Einwände passen in meinen Augen nicht zu meinen Hinweisen. Bis die Informationen eintreffen, lese ich noch ein bisschen mit und wünsch Dir viel Erfolg bei der Fehlersuche. Peter
-
Ok, nochmal: Du hast in Access ein Datum. Hast Du beim lesen nach Java auch ein Datum? Ich hoffe doch. Wenn nein, dann selektierst Du schon falsch. Nimm dieses Datum (Datentyp Date) und kleb es mit setDate() an Dein PreparedStatement. Noch besser: liefer einen kleinen Ausschnitt Deines Quellcodes, wie Du liest und schreibst, dann kann man besser was sagen. Ach ja, ich habe bei Dir keine Fehlermeldung gefunden, sondern nur eine Fehlerbeschreibung. Peter
-
Hmm, kann schon sein, dass ich zu dämlich bin. Ich verstehe Dein Problem, finde aber den Lösungsansatz komisch. Deine Erklärung habe ich nicht verstanden. Du hast ein java.util.Date und sagst, dieses kennt ein Format xy nicht. Das ist auch gut so, denn dieses Date ist im Endeffekt nur ein Wrapper um die Millisekundenrepräsentation dieses Datums. Du sagst, Dein JDBC Treiber kann mit einem Date nicht umgehen. Welchen Fehler erhältst Du denn, wenn Du ein Prepared Statement mit setDate fütterst? In meinen Augen ist das der korrekte Ansatz: versuchen, mit dem richtigen Lösungsweg(Date als Date hinzufügen) zu arbeiten, und nicht einen vermeintlich fehlerhaften Treiber mit unkorrekten Daten zu füttern (Thema Wiederverwendbarkeit und Plattformunabhängigkeit). Peter