For our applications we are using JIDE-docking. Unfortunately, it does not allow us to create non-trivial default layouts and has other limitations. Before starting to dive into dockableFrames I want to know whether someone else already has done the transition from JIDE-docking?
We have one center component which should not be hidable. Around it, the user should be able to place its tool windows. According to my understanding, dF does not have the concept of the center component, isn’t it? We want to render our docked frames (title, toolbar buttons) ourself, even the hide-to-side, maximize or close toolbar buttons we want to render ourself. We want to be able to switch between two perspectives and, of course, be able to save/restore them. Would dF-core be sufficient for that?
The documentation for core and common is really much, but hard to understand because it starts with a trivial example and in the next chapter tells about different cool things to do but not by extending the example.
I’ve never used JIDE but I’ll try to answer some questions:
It is possible to make a non-closeable, non-stackable Dockable (no possibility to hide it in any way), which is somewhat similar to a center component. The user still can put two or more “tool windows” on one side. There is also the concept of a “working area” on which uses can open documents, similar to the editors in Eclipse.
There is an API to replace icons, factories for buttons and for titles. There are also themes which can replace even more items. You may need some time to get it working, but DF allows you to paint a lot by yourself.
DF is able to store the position/size of Dockables and restore the position later, in this respect “perspectives” are supported. There is not yet any API to build a perspective without creating the Dockables, but you can build the perspectives once on your computer and store it in a xml file.
Thanks, Beni, for the quick answer. Unfortunately, I don’t know where to start. I don’t even know what I should use - core or common. I’d prefer core, because I think we don’t need much functionality (e.g. no floating mode) and because it is smaller.
Is there a larger example based on core where the details are explained? BTW, do you offer paid service?
Update:
I’ve started with the Demo04_LoadAndSave (which IMHO should be updated, because it uses deprecated API). This puts the components of the FlapDockStation to the outer locations of the JFrame contentPane’s BorderLayout. But if I add another component at BorderLayout.CENTER, no dockable at all is shown.
In general I advise to use Common because Core really does not offer any functionality (except the very basics). Most code to paint things is in Core. Using Common or Core will not make much of a difference if you want to replace things like titles or actions.
As for documentation: the DemoXY-classes are outdated. I was thinking of removing them altogether but I just forgot them… I would no longer use them as starting point. Some of the other demo applications are more like real-world applications. Studing one of them might be a good starting point (especially “paint” (for Common) and “note” (for Core)). There are also some examples with explanations in this forum, you could copy them to play around with some feaures.
No paid services available. I already have a 100% job and this framework is nothing more than a nice hobby for me. I try to visit this forum at least once a day (I get an email as soon as someone writes in here) and answer as many questions as possible. I write little example applications if there are specific questions questions like “how do I paint a title myself”, unfortunatelly “how do I start” is hard to answer.