Java Suche Java-Spezi, der etwas üben möchte!

coxeroni

Lt. Commander
Registriert
Apr. 2012
Beiträge
1.718
Hallöchen,

aktuell sind wir in Java mit einem kleinen Projekt beschäftigt, bei dem ich leider nicht durchblicke. Kurz gesagt - ich weiß nicht mal, wie ich anfangen soll, da ich mit der Materie dadurch dass ich krankheitsbedingt lange ausgefallen bin überhaupt nicht vertraut bin.

Daher hoffe ich, dass mir da jemand was basteln kann, und wenn es nur ein Grundgerüst ist mit ausgeklammerten Hinweisen, die mir die Schritte erklären.

Siehe Bild unten, so soll die grafische Oberfläche sein. Dahinter soll eine Datenbank stehen in form einer txt-Datei oder ähnlichem, was dort halt am besten passt.

Der Rest geht denke ich aus der Grafik hervor.

Vielen Dank schonmal für eure Hilfe :)
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    46,6 KB · Aufrufe: 612
Wieso frägst du wegen soetwas nicht deinen Betreuer // Lehrer an der Schule // Uni?

Wieso googlest du nicht einfach einmal "Java Gui Programmieren" oder "Java Daten in Textdatei abspeichern" oder "Textdatei auslesen"? Mit dieser "Eigeninitiative" solltest du die Aufgabe alleine ohne Probleme bearbeiten können. Wenn du dennoch auf Probleme oder Fragen stösst, so wird man dir hier sicher helfen. . . .
 
Sorry falls das hart klingt, aber dein Projekt ist ein absolutes Miniprogramm, das muss niemand üben der sich ein klein wenig mit Java auskennt. Wenn du so lange ausgefallen bist, das aber können musst, dann solltest du das aber vielleicht üben.

Ein paar Hinweise um dich auf den richtigen Weg zu bringen. Zunächst mal, entscheide dich ob du eine Datenbank haben willst oder eine Textdatei. Wenn dir letzteres reicht, um so besser. Wenn du eine Datenbank brauchst, dann ist das Stichwort JDBC.

Dein Projekt besteht also aus:
- GUI mit mehreren JLabels, JTextFields und 3 JButtons
- Rest des Programms mit der Logik. Bei der Größe musst du das noch nicht wirklich aufteilen, kannst du aber tun.

Wie gehst du vor:
- Bau deine GUI mit Swing. Such dir dafür einen passenden Layoutmanager der dir gefällt. Hier sind die erklärt. Statt per Hand kannst du die auch mit nem builder zusammenklicken (zB WindowBuilder für Eclipse), aber ich vermute es geht bei der Aufgabe ja um den Lerneffekt.
- Mach dir eine main für den Einsprungspunkt
- Kümmer dich um das Schreiben/Lesen in die Datei. Stichwort: BufferedReader / BufferedWriter

Mit den Daten aus dem Textdokument befüllst du dann einfach die JTextFields / JLabels. Updaten gegebenenfalls mit Feldname.setText().

Das ist alles. Mit etwas googeln solltest du zu den genannten Stichworten dutzende Tutorials finden. Ausserdem kannst du immer die Java Doku unter http://docs.oracle.com/javase/ konsultieren. Falls du konkrete Fragen zu den obigen Dingen hast, gerne. Aber ich sehe den Sinn nicht darin deine Übung für dich zu machen. Davon hat niemand etwas.

Viel Erfolg!

Edit: Falls du ein Problem mit der Tabelle haben solltest und es wurde nicht gesagt wie diese zu machen ist, man kann in JLabels HTML Elemente verwenden. Ich könnte mir vorstellen dass du die Tabelle so erzeugen sollst. Ich gehe aber mal davon aus dass die Aufgabenstellung das sagt.
 
Zuletzt bearbeitet:
Würde ich mit embedded Tomcat/Jetty, HTML-Frontend und einem Servlet als Backend und SQLite als DB lösen, allein um mir den Krampf mit Swing zu sparen. Da du ohnehin keine Vorkenntnisse zu haben scheinst, ist das vielleicht sogar die leichtere Lösung, als sich mit Swing zu verzetteln. Und mal ehrlich - keiner ist scharf auf Java-GUIs.

Ansonsten - das ist kein Hausaufgabenforum und schon gar nicht ohne Eigeninitiative.
 
Tomcat und ne Oracle Datenbank als Server und jsp als Frontends (PrimeFaces vllt). Kann man natürlich alles machen. Man kann das ganze auch als Rest Service realisieren und dann mit jQuery ein fancy html5 frontend bauen. Das kostet aber auch unverhältnismäßig viel Zeit, da man sich in 80 verschiedene Frameworks/Umgebungen/Technologien einarbeiten muss.
Dann doch lieber den klassischen jFaces/Swing Ansatz mit ner Textdatei als Datengrab. Das ist am einfachsten, schnellsten und sicher auch die Lösung, die vom Aufgabensteller gefragt wurde.

Das Ganze ist wirklich kein Hexenwerk, musst einfach mal ein paar Tutorials zu Swing oder JFaces/SWT machen. Auf dem kannst Du dann aufbauen. In was für einem Rahmen hast Du die Aufgabe bekommen? (Ausbildung/Studium/Schule?)
 
Zuletzt bearbeitet:
Tumbleweed schrieb:
Würde ich mit embedded Tomcat/Jetty, HTML-Frontend und einem Servlet als Backend und SQLite als DB lösen, allein um mir den Krampf mit Swing zu sparen. Da du ohnehin keine Vorkenntnisse zu haben scheinst, ist das vielleicht sogar die leichtere Lösung, als sich mit Swing zu verzetteln. Und mal ehrlich - keiner ist scharf auf Java-GUIs.

Ansonsten - das ist kein Hausaufgabenforum und schon gar nicht ohne Eigeninitiative.

Toller Rat, sich für so nen Pups mit Tomcat und HTML rumzuschlagen xD Und vor allem was ist den so schlimm an Swing?
 
Zumindest hat man dann was Sinnvolles für die Karriere gelernt und glänzt damit, dass man nicht die 0815-Lösung präsentiert, die alle anderen auch haben. Swing-Wissen kann man direkt nach Projekt-Abschluss wieder in die Tonne treten.
Ich sehe ja ein, dass die von mir vorgeschlagene Lösung etwas Overkill ist, aber wie wenig Anstrengung manche Leute in ihre Arbeit (bereits im Studium!) stecken, erstaunt mich immer wieder.

@unter mir: Java-GUIs sind tot und das schon seit Jahren. Wenn man mal Java-Stellenanzeigen durchwühlt, findet man auf eine Swing-Stelle zig EE(als toller Buzz-Oberbegriff)-Stellen.
Ich will den Thread aber auch nicht damit shreddern. Ich fänd die Lösung jedenfalls moderner als eine Swing-GUI und ich könnte genau so fragen, was so schlimm sein soll an einem embedded Tomcat. Inzwischen gibt es doch nicht mal mehr viel XML-Gefrickel. Alles annotation driven. Und "mit HTML rumschlagen" ist wohl ein Witz. Das kann doch heute jeder zweite Abiturient und selbst wenn nicht, ist das Wichtigste an einem Tag gelernt.
 
Zuletzt bearbeitet:
Naja, wir bauen auf Swing basierend extrem komplexe GUIs auf, zugegeben nicht sehr hübsch :D dafür aber funktional. Wieso man dass dann nach dem Studium in die Tonne treten sollte weiss ich nicht, naja vllt wenn es schneller als erwartet von JavaFX2 erlöst wird, aber selbst dann hat man die Rückwärtskompabilität.
 
Zumal mir die Kenntnisse in SWT geholfen haben, ein paar Dinge abseits der Norm in Eclipse RCP zu realisieren und Eclipse ist nun wirklich alles andere als tot.
Ich bin mir sicher, dass man das Wissen nicht in die Tonne treten muss und selbst wenn man nur lernt sich mit kruden Frameworks auseinanderzusetzen(Stichwort Bits als Style Properties...).
 
Weiss ich, trotzdem wissen wir ja noch nicht, was der TE nutzen möchte :).
Ich würde aber ganz klar SWT empfehlen, da es auf native Elemente zurück greift. Aber das überlass ich dem TE. Vielleicht meldet er sich ja nochmal und gibt mal seine Vorgaben an.
 
pmkrefeld schrieb:
Naja, wir bauen auf Swing basierend extrem komplexe GUIs auf, zugegeben nicht sehr hübsch :D

Das liegt dann aber an euch, nicht an Swing! Die Standard-Look&Feels sind leider nicht herausragend. Aber wenn man den Aufwand nicht scheut, kann man mit Swing tolle Sachen machen. Es gibt immer noch Firmen, die sich in dem Feld tummeln, wie z.B. http://www.centigrade.de/de/products/cezanne-look-and-feel-engine.

Für so eine Übungsaufgabe ist es aber völlig egal, welches Toolkit man nimmt. Wenn es in der Aufgabenstellung nicht explizit vorgegeben ist, kann man auch HTML5 verwenden, wenn einem das besser passt. Durch das Zusammenspiel verschiedener Technologien, empfände ich eine solche Lösung für einen Anfänger allerdings sogar schwieriger, als eine reine Java-Lösung.

Aber da der TE sich die Arbeit ohnehin ersparen will, ist es auch müßig, sich über die Vor- und Nachteile auseinander zu setzen :D
 
Tumbleweed schrieb:
Zumindest hat man dann was Sinnvolles für die Karriere gelernt und glänzt damit, dass man nicht die 0815-Lösung präsentiert, die alle anderen auch haben. Swing-Wissen kann man direkt nach Projekt-Abschluss wieder in die Tonne treten.
Ich sehe ja ein, dass die von mir vorgeschlagene Lösung etwas Overkill ist, aber wie wenig Anstrengung manche Leute in ihre Arbeit (bereits im Studium!) stecken, erstaunt mich immer wieder.

@unter mir: Java-GUIs sind tot und das schon seit Jahren. Wenn man mal Java-Stellenanzeigen durchwühlt, findet man auf eine Swing-Stelle zig EE(als toller Buzz-Oberbegriff)-Stellen.
Ich will den Thread aber auch nicht damit shreddern. Ich fänd die Lösung jedenfalls moderner als eine Swing-GUI und ich könnte genau so fragen, was so schlimm sein soll an einem embedded Tomcat. Inzwischen gibt es doch nicht mal mehr viel XML-Gefrickel. Alles annotation driven. Und "mit HTML rumschlagen" ist wohl ein Witz. Das kann doch heute jeder zweite Abiturient und selbst wenn nicht, ist das Wichtigste an einem Tag gelernt.

Swing wissen kann man nicht direkt dannach in die Tone Kloppen. Okay, gesucht wird kein Swing programmierer, hat einen historischen grund - nämlich den dass Swing früher super langsam war. Mittlerweile ist Swing recht flott - und für kleine Tools einfach praktisch - ausserdem lernt man relativ viel über action handler usw. Ein Konzept dass man immer wieder mal brauchen kann. Wenn man dann noch die ein oder andere komponente erweitert hat man recht viel über java und OO gelernt - und darum gehts - nicht um Java oder Swing sondern ums coden - ich behaupte mal dass ein guter Programmierer jede sprache kann - er braucht vllt ein paar tage um die syntax im griff zu haben und man weiss vllt manche std. Klassen dann nicht auswendig - aber ordentlichen source schreiben muss man in jeder Sprache können.

Der TE ist wahrscheinlich einer der dann der Chef ist - will seine Arbeit nur deligieren und hat ansonsten keine Ahnung - sind die besten Voraussetzungen!

Lg Mike;
 
Danke für eure Ratschläge, werde mich da mal einarbeiten :)
 
@Tumbleweed wieso sind Swing GUIs out ?

Wenn ich ne Anwendung schreibe, basiert die immer auf einer Swing GUI, ausserdem gibt es schöne Look & Feels z.B. "insubstantial".
Zur Not schreibt man sich halt eine eigene Swing Klasse wann man etwas vermisst.

Wenn es um ein größeres Projekt mit Datenbank handelt kann ich das verstehen, aber für so nen Klacks...

Wie dem auch sei ist die Aufgabenstellung eine ziemlich simple Sache und sollte in einer Stunde maximal zu programmieren sein auch mit riesen Defiziten was Java angeht.

Javadoc und die API liefert alles an Wissen mit.
 
Ich empfehle JBOSS und Hibernate, am besten mit Spring und Maven!
Sonst stößt der TE mit seinem Projekt schnell an technische Grenzen.
 
Da der TE ja nun beglückt ist, nochmal zurück zur Verteidigung meines Vorschlags:

Mit Spring gehe ich noch mit, da Spring MVC für ein simples Frontend ganz okay ist, aber da es nicht unbedingt notwendig ist, würde ich es für dieses Projekt nicht empfehlen. Der Rest ist Polemik.
Was für komische Vorstellungen hier von der Komplexität von Tomcat/Jetty herrschen, meine Güte…
Der Vorteil eines HTML-Frontends liegt doch klar auf der Hand. Es sieht überall (relativ) gleich aus, man kann es responsive gestalten und hat somit direkt eine Version für Tablets und Smartphones und es ist kinderleicht zu formatieren per CSS. Zudem kann man es dann noch schön aufhübschen mit Effekten, wo man sich bei Swing schon einen abbrechen würde.
 
@Tumbleweed

“What do you think? Overkill?

I don't believe there is any such thing.
But in this case, 'yes, overkill.'"
-Sergeant Schlock & Petey
 
Zurück
Oben