[JAVA] Tekening maken op basis van relaties en nodes.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Mensen,

Dit ligt een beetje uit mijn straatje. Ik houd mijzelf eigenlijk nooit bezig met swing/awt achtige zaken maar een klant had de volgende eis.

Het kunnen tekenen van boomstructuur met verschillende relaties. En deze natuurlijk ook opslaan en aan kunnen passen:

dus Node A heeft een relatie met Node B:

A ----------- B

Hieruit komt een relatie met C:
code:
1
2
3
4
A ----------- B
        |
        |
       C

(Het kan ook zo zijn dat er weer een lijn getrokken moet worden van B naar C)

Dit moet dus getekend worden gebaseerd op de relaties beschreven in de Database en dus aangevuld kunnen worden.

Nou kan ik wel een window maken waarin ik dit soort dingen kan tekenen. Maar ik vraag mij af hoe ik de verschillende Nodes (wat ook symbolen en figuren worden) kan koppelen aan data in de database. En zodra ik er iets bij teken dit weer op kan slaan.

Wellicht dat hier iemand is die mij in de juiste richting kan sturen.

Alvast bedankt.

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

  • asfaloth_arwen
  • Registratie: Februari 2005
  • Nu online
[Java] String representatie van een binary tree had je al gevonden? Ik denk namelijk dat je met de hints die daar gegeven worden al een stuk op weg kunt :)

Specs


Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Het gaat hier echt om tekenen en het ook daadwerkelijk aanvullen.

De bomen die daar staan zijn enkel:
code:
1
2
3
                          A
                        /    \
                      B      C

En niet
code:
1
2
3
                      A ------ B
                            |
                           C --------D


Een voorbeeld van wat ik wil bereiken:

Afbeeldingslocatie: http://www.plaatjesupload.nl/bekijk/2009/05/12/1242129050-470.jpg

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Maar moet je dat dan perse in Java gaan schrijven, of kan je geen gebruik maken van bestaande tools? (iets met wiel en opnieuw uitvinden enzo ;) )

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Haan schreef op dinsdag 12 mei 2009 @ 14:31:
Maar moet je dat dan perse in Java gaan schrijven, of kan je geen gebruik maken van bestaande tools? (iets met wiel en opnieuw uitvinden enzo ;) )
Nou kan wel met een bestaande tool alleen is die tool die er voor is een overkill.. + dat dit in een andere taal geschreven is en dus aangestuurd moet worden via een bridge framework of JNI.

Verder is het ook zo dat men geen licenties wilt betalen.. Als jij een open source tool weet die dit eventueel kan.. en ook nog eens de data die extra toegevoegd kan worden (extra relaties en nodes) op slaat in de database. Dan hoor ik het graag ;)

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 14:12

Kettrick

Rantmeister!

Misschien kan je iets met jgraph ?

http://www.jgraph.com/screenshots.html

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Bl4ckviper schreef op dinsdag 12 mei 2009 @ 14:34:
[...]


Nou kan wel met een bestaande tool alleen is die tool die er voor is een overkill.. + dat dit in een andere taal geschreven is en dus aangestuurd moet worden via een bridge framework of JNI.

Verder is het ook zo dat men geen licenties wilt betalen.. Als jij een open source tool weet die dit eventueel kan.. en ook nog eens de data die extra toegevoegd kan worden (extra relaties en nodes) op slaat in de database. Dan hoor ik het graag ;)
Enige waar ik zo even op kan komen is Dia. Is open source en kan xml exporteren, dus wellicht dat je er iets omheen kan bouwen :)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Mr_Light
  • Registratie: Maart 2006
  • Niet online

Mr_Light

Zo-i-Zo de gekste.

Mij is het probleem nog niet helemaal duidelijk.

Opslaan van de handel heb je zo veel opties voor:
serialise het model
map het naar xml
map het naar een db (omdat het een boom achtige structuur heeft zou ik even naar hoe ze dat doen met xml in db kijken)

voor structuur voor je code zijn ook tal van opties...

etc.

Ik kan wel code gaan kloppen maar we doen hier geloof ik niet aan script requests.

---

Wat betreft dat de bomen zo anders zouden zijn:

Ik weet niet of het plaatje alle mogelijkheden weergeeft maar zo echt anders zijn die twee dan niet:

- de lijnen naar de child nodes zijn alleen anders getekend.
- de A node bij de ene ziet er wat fancier uit anders gezecht A----B is dan dus in zijn geheel gewoon de node.
(misschien is het duidelijker om te zeggen dat het stel de node is in plaats van een persoon.)
Het enige wat het laatste veranderd is dat de boom niet homogene nodes heeft - maar dat had hij toch al niet.

//edit

Jgraph ziet er prima uit - je kan de style van hoe de lijnen getekend worden blijkbaar aanpassen(gezien de screenshots. dan nog even een stel als een node modeleren(zo als hierboven genoemd) en presto.
(uitgaande van dat de jgraph api goed is - heb er zelf geen ervaring mee)

[ Voor 13% gewijzigd door Mr_Light op 12-05-2009 15:16 ]

IceManX schreef: sowieso


Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Mr_Light schreef op dinsdag 12 mei 2009 @ 15:03:
Mij is het probleem nog niet helemaal duidelijk.

Opslaan van de handel heb je zo veel opties voor:
serialise het model
map het naar xml
map het naar een db (omdat het een boom achtige structuur heeft zou ik even naar hoe ze dat doen met xml in db kijken)

voor structuur voor je code zijn ook tal van opties...

etc.

Ik kan wel code gaan kloppen maar we doen hier geloof ik niet aan script requests.

---

Wat betreft dat de bomen zo anders zouden zijn:

Ik weet niet of het plaatje alle mogelijkheden weergeeft maar zo echt anders zijn die twee dan niet:

- de lijnen naar de child nodes zijn alleen anders getekend.
- de A node bij de ene ziet er wat fancier uit anders gezecht A----B is dan dus in zijn geheel gewoon de node.
(misschien is het duidelijker om te zeggen dat het stel de node is in plaats van een persoon.)
Het enige wat het laatste veranderd is dat de boom niet homogene nodes heeft - maar dat had hij toch al niet.

//edit

Jgraph ziet er prima uit - je kan de style van hoe de lijnen getekend worden blijkbaar aanpassen(gezien de screenshots. dan nog even een stel als een node modeleren(zo als hierboven genoemd) en presto.
(uitgaande van dat de jgraph api goed is - heb er zelf geen ervaring mee)
Nee script request zijn niet toegestaan en was ook zeker niet de bedoeling. Enkel wat pointers is oke. Ik denk inderdaad dat het omzetten naar xml en vice versa wel een goed plan is voor het wegschrijven en ophalen van het geheel.

Ik zat idd ook te kijken naar Jgraph op aanraadde van Roelz. Probleem daar is weer dat het niet gratis is... het zag er wel veelbelovend uit.

Maar qua code in welke richting zat jij te denken?

//edit
Kwam Jgrapht nog tegen. Alleen kan je hier dus geen presentatie mee maken en ik heb nog niet gevonden of je ook daadwerkelijk data kan wijzigen of alleen maar creëren.

//edit2

listenable graphs - allow external listeners to track modification events.

Enkel nog het feit van presenteren dan...

[ Voor 8% gewijzigd door Bl4ckviper op 12-05-2009 15:50 ]

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:51

Haan

dotnetter

Een rationeel denkende klant zal opzich ook wel moeten kunnen inzien dat een component die je voor een paar honderd euro kan kopen, veel voordeliger is dan het opnieuw laten doen door een developer. Kan je zo een paar dagen kosten, tel uit je winst..

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Haan schreef op dinsdag 12 mei 2009 @ 15:46:
Een rationeel denkende klant zal opzich ook wel moeten kunnen inzien dat een component die je voor een paar honderd euro kan kopen, veel voordeliger is dan het opnieuw laten doen door een developer. Kan je zo een paar dagen kosten, tel uit je winst..
I know... maar tegenwoordig schijnt de term open source alle deuren te moeten openen.. En dan moet het wel goedkoper zijn ;)

Helaas ga ik dus niet over zulke beslissingen.

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

Verwijderd

Als ik een tip mag geven, dan zou ik voorstellen dat je een exemplaar van Ivor Hortons "Beginning Java2 SDK 5" raadpleegt. Dat boek is weliswaar een inleiding tot Java, maar het illustreet in detail hoe je een sketcher applicatie schrijft en de tekeningen opslaat en weer inleest door middel van sql en/of xml. Horton doet daar zo'n 700 pagina's over dus je begrijpt wel dat ik het hier niet even in een paar regeltjes kan overdoen.

Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Verwijderd schreef op dinsdag 12 mei 2009 @ 21:28:
Als ik een tip mag geven, dan zou ik voorstellen dat je een exemplaar van Ivor Hortons "Beginning Java2 SDK 5" raadpleegt. Dat boek is weliswaar een inleiding tot Java, maar het illustreet in detail hoe je een sketcher applicatie schrijft en de tekeningen opslaat en weer inleest door middel van sql en/of xml. Horton doet daar zo'n 700 pagina's over dus je begrijpt wel dat ik het hier niet even in een paar regeltjes kan overdoen.
Ik heb het Ebook even gedownload... Dank voor de tip!

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
Toch maar aan de slag gegaan met Jgraph.. Er is dus wel een open source variant..

Werkt aardig..

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Trouwens je hebt deze oplossing ook: http://www.yworks.com/en/products_yfiles_about.html
Het ziet er zo op het eerste gezicht netjes uit.

Acties:
  • 0 Henk 'm!

  • Bl4ckviper
  • Registratie: Mei 2002
  • Laatst online: 06-08 00:09
alienfruit schreef op zaterdag 16 mei 2009 @ 21:17:
Trouwens je hebt deze oplossing ook: http://www.yworks.com/en/products_yfiles_about.html
Het ziet er zo op het eerste gezicht netjes uit.
Whoo ziet er idd goed uit..

Naja ben nu iig al ver met Jgraph... en dit is echt niet gratis ;)

Be fast .... Be furious....


Acties:
  • 0 Henk 'm!

Verwijderd

Niet helemaal hetzelfde als yed, en misschien ook niet helemaal wat je zoekt maar wel in de richting: http://www.prefuse.org/

Demo's zijn in ieder geval impressive.

Acties:
  • 0 Henk 'm!

  • Leftblank
  • Registratie: Juni 2004
  • Laatst online: 20:52
Alternatief is om te kijken naar hoe bijv Violet UML 't aanpakt, dat is een opensource UML WYSIWYG editor voor Java waarbij je dus precies kunt doen wat jij wilt maken, alleen dan met een andere invulling van de nodes. Als je geen wielen opnieuw wilt construeren lijkt me dat een interessant startpunt ;)
Pagina: 1