I need to create flow diagrams based on specific inputs, using java code, what are best ways\plugins to achieve this.
something like the above diagram (For sample only it is taken from google images)
Also the diagrams should be editable after generation.
I would recommend Graphviz - the industry standard for graphs. It also has Java API (as well as perl, python, ruby etc.), so it possible to use it in Eclipse.
It uses DOT - a plain text graph description language. Small example:
digraph graphname {
a -> b -> c;
b -> d;
}
And the resulting graph:
Graphviz provides everything you need to create any kind of graphs. And yes, diagrams are editable.
Graphviz Eclipse plug-in: https://github.com/abstratt/eclipsegraphviz
Maybe something like https://github.com/jgraph/draw.io can solve your Problem. It is the sourcecode for https://www.draw.io/ which is a graphical Editor for creating diagrams.
So you can create an XML-File and upload it to your own version of draw.io and create the flowchart. Then you can edit it and save it to varoious file formats.
This is not the perfect answer, but maybe it is worth a try.
From the doc of JDiagram:
MindFusion.Diagramming for Java Swing (JDiagram for short) is a Java
class library that that lets you create and display various types of
diagrams and charts. The library includes model classes that describe
the structure and appearance of a flow diagram, and view classes that
can be integrated into any application that targets the Java Swing
framework
here are the examples, of what you can achieve with the library:
http://www.mindfusion.eu/onlinehelp/jdiagram/
There you could browse the tutorials and the doc.
I think this library might fit the bill...
https://eclipse.org/modeling/mdt/?project=xsd#xsd
Related
Notes:
The answer is NOT clojurescript. I want to code in Clojure, not ClojureScript.
Context:
I like the CSS/DOM model for user interfaces more than I like Java's Graphics2D.
Question:
Is there some way / some project that embeds a WebKit of sorts into a Java Application? I would like to be able to code in Java, but also be able to have a GUI which I can control/manipulate via CSS/DOM.
Thanks!
The JavaFX 2.0 scene graph is somewhat similar in concept to a DOM, and you can skin it using CSS.
There is a Java API, so you should be able to use this fairly easily from Clojure.
It's not exactly CSS/DOM, but seesaw allows to query Swing widget hierarchies with CSS-like selectors.
You can find a list of more-or-less mature GUI libraries here.
An above-mentioned Seesaw can fit. GUIFTW uses a CSS-like stylesheets for describing the UI and may also meet your needs but it wasn't updated for a year now.
I have an AST (abstract syntax tree) structure that I need to visualize. What to use for such visualization? I have heard about eclipse gmf, but after a short look on all that models and code generation I think that it is too complex for this problem.
My task is only show tree structure with some basic interactive functions: I need to show popup window with some additional information and that is all.
Do you think that eclipse Draw2D is enough? Moreover may be there are some out of the box solutions for visualizing a tree structure?
Try GraphViz. It's an open source graph visualization software that can be used to generate images (SVG, PNG, JPEG,etc) from graph structures (including ASTs).
You can find a Java-based alternative in Eclipse Zest, a group of visualization components for Eclipse
It's not particularly sexy, but if you're looking for a low barrier of entry, a swing JTree is pretty easy to get started with. The Swing Tutorials have several examples.
Is there a free decent java GUI descriptor language (probably XML based), which has a Glade-like (WYSIWYG) GUI builder?
Netbeans IDE. Whenever you use its GUI editor, it stores the GUI in XML, in a *.form file.
For example if your create a class com.some.package.MyForm which extends some Swing component or window, look for this file $SRCDIR/com/some/package/MyForm.java and $SRCDIR/com/some/package/MyForm.form.
The former is the actual Java class that gets compiled. The latter is a file that Netbeans uses to store the GUI in XML format. This is what netbeans uses to generate the auto-gen'd code that goes in the code fold to initiliase the GUI.
HTH
Edit:
I do acknowledge that the Netbeans IDE probably isn't the best one out there, and I personally use it only because it's already built into the IDE that I use anyway. For me it gets the job done, and I may sometimes have to manually apply tweaks in the code to get what I want. It's a no-frills, XML-based, Java GUI, WYSIWYG editor.
Sorry this is prob not the answer you were looking for but have you looked into using flex? The markup in Flex is all XML based and the builder is very good.
Blaze DS can then be used to communicate between flex and Java.
Dont know any pure xml layout frameworks off the top of my head. Whats your reason for wanting an XML based UI?
Simple googling yields me many like http://swingml.sourceforge.net/, http://jfcml.sourceforge.net/,http://cookxml.yuanheng.org/cookswing/etc.
You can try JavaFX, it is too a cool DSL way of representing the Swing components and it provides more of its own for API for animation and graphics usage.
Netbeans and eclipse have plugins/extensions to do DnD development for it.
What we do in our company to let our software be translated by external translators is ... well .. how to put it...
cvs co someModule
ant translation.export (behind this target there is a self-made ant task, exporting all resource bundles together as one big tab-seperated text file, columns: the different languages, each row all languages for one key)
Some VB tool does something with the file (you don't wanna know)
Translators work in Excel on their column
Someone collects and merges the translations
VB tool
ant translation.import
cvs commit
...
Best case: 2 weeks between 1. and 8., development goes on...
First question: How do you handle this?
My idea was to build a tool with a web-gui that allows translators to work directly on cvs module (checkout in background and commit on "save", maybe tagging in background). We started with implementation by trainees and got something like a proof of concept. Before we go on with development I'd like to know
Second question: Do you know of a comparable tool?
and/or
Third question: Would you use such a tool?
java also provides its own resource bundle editor.
You should use gettext and Poedit. Translations are kept in separate files.
We use Sisulizer to localize our applications (.NET), for what I see in the documentacion of the application, it also supports Java, maybe this can help you.
With Sisulizer you can generate a translation project that you send to translators and when they return you it translated you can import the translation directly into the project.
I am writing this application in Java, where I have a JTree on the left of the JFrame, and the item selected in the JTree determines what appears on the right. This is similar to Edit --> Preferences in Thunderbird, and several other applications' preferences.
Anyhow the main difference is that in my app the stuff on the right is dynamic, and needs to be generated at run time using input from a file.
What I am after is various ways in which this can be accomplished, code snippets or existing frameworks / libraries if they exist.
The input file needs to be something higher level than the sort of XML generated during Serialization. No output capability is required.
Thanks
The JEasy Framework looks to do exactly what you're asking for.
But here's a whole list of similar projects: http://java-source.net/open-source/xml-user-interface-toolkits
There's a short description for each one and a link to their project page. You'll want to look at a handful of the ones that sound good to you, and then try one or two for yourself.
As of now i think one of the most actively used is Swixml. better support compared to JEasy.
have been using it for some while now, and is very easy to learn too
Perhaps it - http://www.soyatec.com/eface/ - XAML/WPF for Java.