Ein Swing Framework

Ich habe in letzter Zeit recht viele Swing Applikationen geschrieben(sei es fuer die Schule, fuer Freunde oder auch fuer mich selbst). Aus all diesen Applikationen habe ich vor kurzem eine Art Framework erstellt, welches eine Basisimplememtation einer Applikation ‚vorgibt‘. Die lib ist nicht fertig und enthält gerade mal die Basics drin. Sachen wie Status eines Fensters bei Beendung speichern und auch das managen mehrerer Fenster fuer MultiFrame Apps fehlt, aber auf solche Sachen arbeite ich hin.
Eig ist es recht einfach zur Zeit. Jede App definirrt einen Lifecycle. Eine start, configure und shutdown Methode. Die Namen sagen eig alles aus. Man erstellt eine App indem man die Klasse Application erweitert und dann seinen Kram in die startup Methode schreibt. Jede Applikation besitzt eine View(IView) mit der man das Fenster erhaelt. Ebenfalls ist ein Context definirrt der Einstiegspunkt fuer alle Services sein soll.

Ich wuerde mich ueber Verbesserungsvorschlaege, neue Ideen und Kritik(seit bitte nicht so hart, ist mein erstes Projekt das ich voratellen ^^).

Btw: Falls sich jemand wundert warum alles auf englisch ist: ich finde, dass englische methoden und deutsche Kommentare nicht passen :smiley: darum alles auf englisch. Es ist nicht alles kommentiert. Habe nur angefangen wenn mir die Ideen ausgingen oder ich keine Lust hatte Code zu schreiben. Das Paket plugins ist am besten Dokumentiert und stellt fie Funktionen gut dar. Falls sich jemand dieses Paket anguckt, waere es nett wenn er sich zu der Idee mit den IDeveloperPlugins aeußern koennte…

Viel Spaß beim Untersuchen :smiley:

Wo ist die lib? Oder übersehe ich den Link???
Edit:
jetzt is sie da :wink:

Sollte als Anhang da sein o.O
Habe ich was falsch gemacht oder sind die fuer euch sichtbar?
Und noch ne Kleinigkeit: Die kleine Demo hat schon einen Mac Support integriert, also falls das Quit, Preferences und about menuitem aus dem Apple Menue nicht funken oder auch die JMenuBar nicht wie bei Apple nicht im Fenster sitzt, bitte Bescheid sagen!

*** Edit ***

Um die Demo zum Laufen zu bringen muss noch die framework_bin im gleichen Verzeichnis liegen. Habe ich vergessen zu erwähnen :smiley:

So hab mich hingesetzt und noch das Plugin System implementiert. Ebenfalls das IDeveloperPlugin System(naehres in der package info de.framework.plugins). Hab noch ne Todo list aber hab vergessen die mit in die jar zu packen. Es wurde ebenfalls das SystemExtra fuer Macs geschrieben.

Ich wuerde mich wie immer auf Feedback freuen :smiley:
Habt Spaß :smiley:

Beim Überfliegen des Codes sieht das etwas umfangreicher und „more sophisticated“ aus, als ich anhand der Beschreibung vermutet hätte. Die Beschreibung klang eher so nach

abstract class Framework extends JFrame {
    abstract void init();
    abstract void shutdown();
}

oder so :smiley: aber auch wenn ich das ganze noch nicht näher angesehen oder gar nachvollzogen habe, scheinen solche Sachen wie das mit den Actions und Plugins und so ja doch etwas darüber hinauszugehen.

Jo das war auch der Sinn dabei. Sowas wie ein extenss JFrame bringt nicht viel. Das mit dem nachvollziehen, da werde ich eine Demo schreiben die mehr beinhaltet als eine JTextArea :smiley:
Danke das du es dir angeguckt hast!

ein Name wäre nicht schlecht,
ich habe im Titel ‚ein‘ eingefügt, um gröbste Verwirrungen zu vermeiden :wink:

das ‚Swing Framework‘ gibt es glaube ich schon

Hi,

wieso hostest Du den Code nicht bei Bitbucket oder Github? Das finde ich immer angenehmer zum Browsen von Sourcen.

So melde mich mal wieder. Ich bin auf ein paar Probleme gestossen ubd have mir halt ueberlegt wie ich diese loessen koennte. Der einzige Weg waere eine andere Art Plugin System. Habe dabei an extensions und extension points gedacht. Nur stelle ich mir gerade die Frage ob ich ne lib nehmen soll(habe JPF gefunden, aber scheint seit langen nicht mehr geupdatet gewordeb sein) oder es selber mache(denn ich braeuchte nur die points, extensions und dependencies zu scannen, was es eigentlich recht einfach haelt). Ich haette mich fuet letzteres ebnschiedeb, nur weiss ich ebn nicht wie ich das mit den points machen soll. Im Endeffekt muesseb alle plugins gesammelt werden, die plugin.xml Datei wirx gescannt. Dann wird ueberprueft ob jede jar ihre dependencies hat(sowohl plugins als auch 3th party libs). Dann muessen alle points gesammelt werden ubd deb richtigen plugibs zugeordnet werden. Ebenfalls deren parameterdefinitionen. Dann werden alle extensiobs gesammelt, es wird ueberprueft ob der Punkt der erweitert wird existiert und ob alle parameter definitert wurden. Dann werden alle extensions den richtigen punkten zugeordnet.
Das solte die theorie sein, nur habe ich leider einige Probleme damit:
Wenn ich die xnl parse, dann braeuchte ich eine Art Container der alle Informationen aufbewahrt bis ich mit ser ruchtigen Arbeit beginne und alles analysiere. Denn ich kabb nicht einfach extensiobs erstellen ohne zu wissen ob das ding alle parameter definiert hat…

Hoffe mal ihr habt ein paar Ideen…

Dein Text ist furchtbar und echt anstrengend zu lesen. Aber wenn du einen Plugins haben möchtest, dann könntest du auch Teile des Eclipse-Frameworks nutzen. Damit kannst du auch Swing-Anwendungen realisieren die einfach Extension Points nutzen könnten (hatte da mal vor langer Zeit was testweise gemacht - aber Code habe ich glaub keinen mehr).

Sorry wegen des Textes :smiley:
Ja hab ich auch drab gedacht aber ich hasse dieses Eclipse Scheme system… Hab es nicht ganz so geblickt(wahrscheinlich hasse ich es darum ;D)
Welche jars braucht man denn dann?