Jabaco meets Jubaca
Hiho an die kleine (hoffentlich wachsende) Jabaco Community
ich fand die Idee mit dem Framework klasse und dachte mir, schau es dir mal an. Nach einigen rumexperimentieren, dachte ich mir jetzt mal, probierst du mal drin rumzuhacken. Tja nur was?
Nach ewigen hin und her überlegen, entschied ich mich den CommandButton zu erweitern.
Ich habe den Button um eine Propertie erweitert mit der man den CommandButton als DropDownButton verwenden kann. Hey Manuel, wenn es dir taugt, kannst du es ja in dein Framework mit übernehmen.
Wenn jemand lust hat das auszuprobieren, hier eine kurze Beschreibung:
MenuItems hinzufügen
Abfrage mit MenuItem
oder
Abfrage mit MenuIndex
P.S. im Attachment ist der ByteCode und SourceCode enthalten
ich fand die Idee mit dem Framework klasse und dachte mir, schau es dir mal an. Nach einigen rumexperimentieren, dachte ich mir jetzt mal, probierst du mal drin rumzuhacken. Tja nur was?
Nach ewigen hin und her überlegen, entschied ich mich den CommandButton zu erweitern.
Ich habe den Button um eine Propertie erweitert mit der man den CommandButton als DropDownButton verwenden kann. Hey Manuel, wenn es dir taugt, kannst du es ja in dein Framework mit übernehmen.
Wenn jemand lust hat das auszuprobieren, hier eine kurze Beschreibung:
- CommandButton.class in der C:\Programme\Jabaco\Jabaco.jar austauschen (geht ganz gut mir winrar)
- Jabaco starten und ein CommandButton auf das Formular ziehen
- in Properties 'DropDown' = true setzen
- MenuItems zum Button hinzufügen (siehe unten)
- Abfragen welches Item geklickt wurde (siehe unten)
MenuItems hinzufügen
|
|
Jabaco Source |
1 2 3 4 5 6 |
Public Sub Form_Load() Command1.addMenuItem("Menu Item 1") Command1.addMenuItem("Menu Item 2") Command1.addMenuItem("Menu Item 3") Command1.addMenuItem("Menu Item 4") End Sub |
Abfrage mit MenuItem
|
|
Jabaco Source |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Public Sub Command1_Click() Dim MenuItemText = Command1.GetSelectedMenuItem().getText() If MenuItemText = "Menu Item 1" Then 'Do something Command1.setText(MenuItemText) End If If MenuItemText = "Menu Item 2" Then 'Do something Command1.setText(MenuItemText) End If End Sub |
oder
Abfrage mit MenuIndex
|
|
Jabaco Source |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Public Sub Command1_Click() Dim MenuItemIndex = Command1.GetSelectedMenuIndex() If MenuItemIndex = 0 Then 'Do something Command1.setText("Index 0") End If If MenuItemIndex = 1 Then 'Do something Command1.setText("Index 1") End If End Sub |
P.S. im Attachment ist der ByteCode und SourceCode enthalten
Hallo Jubaca,
Hattest du Schwierigkeiten bei der Modifikation? Hast du "IsClass" und "Cast" sofort gesehen, oder gewusst, oder wie bist du darauf gekommen? Ich dachte eigentlich, dass ich das noch weiter dokumentieren muss... Du verwendest mehr Java als VB-Methoden - vermutlich hast du damit mehr Erfahrung? Waren die Namespaces (vor allem die Trennung mit #) intuitiv für dich?
Ich hoffe in Zukunft werden noch mehr Entwickler am Framework arbeiten, aber momentan habe ich nicht damit gerechnet und mir noch keine Gedanken über den Workflow gemacht. Auf Dauer ist es zu viel Aufwand für mich die Änderungen im Framework selbst zu pflegen, den Compiler + IDE weiter zu entwickeln, die Community zu supporten und gleichzeitig die Dokumentation zu schreiben. Momentan versuche ich ein paar Dinge zu automatisieren, aber das Framework ist dabei eine echte Herausforderung... Evtl. wäre SVN eine gute Idee. Ein Problem ist dabei aber die Qualitätssicherung... Obwohl ich deine Arbeit wirklich sehr gut finde gibt es ein paar Kleinigkeiten die man vor dem Einchecken überarbeiten muss (zum Beispiel hast du Farben fix definiert). Oder sollte man sowas dann später erst in einem Bugfix überarbeiten? Gibt es dafür gute Vorschläge?
Gute Arbeit
Quoted
Ich habe den Button um eine Propertie erweitert mit der man den CommandButton als DropDownButton
verwenden kann. Hey Manuel, wenn es dir taugt, kannst du es ja in dein Framework mit übernehmen.
Ich hoffe in Zukunft werden noch mehr Entwickler am Framework arbeiten, aber momentan habe ich nicht damit gerechnet und mir noch keine Gedanken über den Workflow gemacht. Auf Dauer ist es zu viel Aufwand für mich die Änderungen im Framework selbst zu pflegen, den Compiler + IDE weiter zu entwickeln, die Community zu supporten und gleichzeitig die Dokumentation zu schreiben. Momentan versuche ich ein paar Dinge zu automatisieren, aber das Framework ist dabei eine echte Herausforderung... Evtl. wäre SVN eine gute Idee. Ein Problem ist dabei aber die Qualitätssicherung... Obwohl ich deine Arbeit wirklich sehr gut finde gibt es ein paar Kleinigkeiten die man vor dem Einchecken überarbeiten muss (zum Beispiel hast du Farben fix definiert). Oder sollte man sowas dann später erst in einem Bugfix überarbeiten? Gibt es dafür gute Vorschläge?
Hi Manuel,
super, dass es dir gefällt.
. Die Trennung mit # war für mich nicht klar. Ich hatte es nur zufällig gesehen und es dann ausprobiert, ob es das war, wofür ich es gehalten hatte. Ich habe mitbekommen, dass es nicht notwendig ist die JavaKlassen mit Namespaces anzusprechen. Ich habe es aber trotzdem gemacht, da man keine Import-Namespaces angeben kann und ansonsten durch einen blöden Zufall (z.b. eine Klasse in deinem Framework mit dem gleichen Namen wie eine in Java) kommen kann, dass dann die falsche Klasse instanziiert wird. In deiner Dokumentation wäre auch nicht schlecht, wenn du Beispiele hast, wo der selbe Code in Jabaco und in Java gezeigt wird. Dadurch kann man vielleicht schnell erkennen wo da Gemeinsamkeiten und Unterschiede gibt.
Qualitätssicherung ist ne gute frage, aber wenn jemand das momentane Repository auscheckt, kann auch nicht erwarten, dass alles super läuft. Beim Update wiederum schon.
1. Getting Started with Jabaco Framework
Am besten überarbeitest du mein Code nochmal. Ich weiß ja auch nicht, ob alles passt. Wegen Farben weiß ich jetzt nicht, meinst du das schwarzen DropDown Dreieck?
In Zeile 181 hab ich noch was vergessen. Da muß noch was eingefügt werden:
Ansonsten kann man im Nach herein den Button nicht wieder auf Normal stellen.
Ach ja, als ich das Framework mit "make Project" erstellen wollte, wurden meine Änderungen im generierten JarFile nicht übernommen. Hab dann aus dem Tempverzeichnis die CommandButton.class genommen, dort war sie aktuell
super, dass es dir gefällt.
Ja, anfangs hatte ich Probleme, aber mit der Zeit ist es besser geworden. Ich hab mir alles durch Lesen der Sourcen angeeignet. Zum Beispiel habe ich "IsClass" und "Cast" in JBCellRenderer.jsrc gefunden. Ich mußte direkt danach suchen, da ich mit dem Problem (wie geht instanecof und casten) erstmal ratlos dastand. Eine Dokumentation würde ich trotzdem für ratsam halten. Da ich schon ein paar Sachen in Java gemacht hatte, konnte ich den Zusammenhang zwischen deinem Framework und Java erkennen.
Quoted
Hattest du Schwierigkeiten bei der Modifikation? Hast du "IsClass" und "Cast" sofort gesehen, oder gewusst, oder wie bist du darauf gekommen? Ich dachte eigentlich, dass ich das noch weiter dokumentieren muss...
Ja, das stimmt. Ist mir gar nicht aufgefallen, dass ich zu Javalastig war
Quoted
Du verwendest mehr Java als VB-Methoden - vermutlich hast du damit mehr Erfahrung? Waren die Namespaces (vor allem die Trennung mit #) intuitiv für dich?
. Die Trennung mit # war für mich nicht klar. Ich hatte es nur zufällig gesehen und es dann ausprobiert, ob es das war, wofür ich es gehalten hatte. Ich habe mitbekommen, dass es nicht notwendig ist die JavaKlassen mit Namespaces anzusprechen. Ich habe es aber trotzdem gemacht, da man keine Import-Namespaces angeben kann und ansonsten durch einen blöden Zufall (z.b. eine Klasse in deinem Framework mit dem gleichen Namen wie eine in Java) kommen kann, dass dann die falsche Klasse instanziiert wird. In deiner Dokumentation wäre auch nicht schlecht, wenn du Beispiele hast, wo der selbe Code in Jabaco und in Java gezeigt wird. Dadurch kann man vielleicht schnell erkennen wo da Gemeinsamkeiten und Unterschiede gibt.SVN wäre super. Ich habe hier auch im Forum gelesen, dass schon Bugs gefixt wurden, aber man trotzdem aufs nächste Update warten muß. Das wäre ne schöne Lösung für Entwickler, die dringenst auf dem Fix warten.
Quoted
Evtl. wäre SVN eine gute Idee. Ein Problem ist dabei aber die Qualitätssicherung
Qualitätssicherung ist ne gute frage, aber wenn jemand das momentane Repository auscheckt, kann auch nicht erwarten, dass alles super läuft. Beim Update wiederum schon.
Ja, das glaub ich dir. Mit so einem Projekt muß man schon fast verheiratet sein, um es am laufen zu halten. Beim Framework ist momentan eigentlich nur das Wichtigste, dass es ein Dokumentation gibt. Die muß ja nicht gleich Komplett sein. Es reichen erstmal zwei Sachen:
Quoted
Auf Dauer ist es zu viel Aufwand für mich die Änderungen im Framework selbst zu pflegen, den Compiler + IDE weiter zu entwickeln, die Community zu supporten und gleichzeitig die Dokumentation zu schreiben. Momentan versuche ich ein paar Dinge zu automatisieren, aber das Framework ist dabei eine echte Herausforderung...
1. Getting Started with Jabaco Framework
- Wie fange ich an, z.b. mit einem kleinen Beispiel
- Wie erstelle ich Properties
- Wie kann man es testen
Ja, dieser Hack ist nicht das non plus ultra. War aber erstmal so zufrieden. Ich hatte es ja auch aus Interesse und Spaß gemacht. Ich wusste auch nicht, ob es benötigt wird oder angenommen wird.
Quoted
Obwohl ich deine Arbeit wirklich sehr gut finde gibt es ein paar Kleinigkeiten die man vor dem Einchecken überarbeiten muss (zum Beispiel hast du Farben fix definiert). Oder sollte man sowas dann später erst in einem Bugfix überarbeiten? Gibt es dafür gute Vorschläge?
Am besten überarbeitest du mein Code nochmal. Ich weiß ja auch nicht, ob alles passt. Wegen Farben weiß ich jetzt nicht, meinst du das schwarzen DropDown Dreieck?
In Zeile 181 hab ich noch was vergessen. Da muß noch was eingefügt werden:
|
|
Jabaco Source |
1 2 3 |
Parent.setLayout(Nothing); Parent.remove(label); <- das label was in Zeile 197 hinzugefügt wurde myPopupMenu = Nothing |
Ansonsten kann man im Nach herein den Button nicht wieder auf Normal stellen.
Ach ja, als ich das Framework mit "make Project" erstellen wollte, wurden meine Änderungen im generierten JarFile nicht übernommen. Hab dann aus dem Tempverzeichnis die CommandButton.class genommen, dort war sie aktuell
This post has been edited 2 times, last edit by "Jubaca" (Dec 7th 2008, 3:14am)
Similar threads
-
Votings »-
Programming language
(Aug 21st 2008, 9:06pm)
-
History & News »-
RELEASE: Jabaco 1.4.0 BETA - 2008-11-18
(Nov 21st 2008, 8:52pm)
-
Tips, Tricks, Samples & Tutorials »-
Using Java-Framework's inside Jabaco
(Aug 22nd 2008, 1:51am)
-
Tips, Tricks, Samples & Tutorials »-
Invoke Methods
(Aug 22nd 2008, 1:04am)
-
Tips, Tricks, Samples & Tutorials »-
Threads and Synchronisation
(Aug 21st 2008, 10:41pm)
