The ribbon is a control that was brought up with office and has since been getting progressively more important with its inclusion in windows built in apps like Windows Explorer or MS Paint.
It replaces the use of menus, occupies more space but favors discoverability.
And so I’ve decided to create this control in java, particularly by using javafx (image below).
(Click the image above to see it in it’s original size)
It is FXML friendly, the demo above was in itself created using FXML.
The source code is available at https://github.com/dukke/FXRibbon (the icons in the figure above are not included). There are a couple of demo apps that show how the ribbon is used.
It’s a project that is under development and so the API is very likely to change with time.
Update (5 March 2018): Check out the new Ribbon documentation page for updated information. Some things have changed.
It replaces the use of menus, occupies more space but favors discoverability.”
I find it far worse than menus for discoverability, (I can never find anything with MS Office anymore) and therefore the ribbon is worse in every way. But that seems to be the trend when Microsoft tries to innovate with UI instead of copying Apple. 🙂
Scott
>
That’s because you were used to the menus in previous versions of office. If you are using an app that has a ribbon for the first time, you’ll find it’s easier to find things.
Hey,
nice work! Is it somehow possible to hide/show the Ribbon when double-clicking the titles as in the MS programs?
Hi, thanks.
No not currently.
Hi,
what happens to the ribbon when the window width gets smaller?
Cheers!
Hi,
I haven’t yet coded that condition.
Thanks,
Please specify a license for this (something compatible with controlsfx for example). Currently the code is nice, but for a real project pretty useless (not for quality, but licensing).
The license is BSD, you can use it however you want to.
Hy is it possible use it under ecplise? I download source code but I can’t use it in Ecplipse.
Thks!
Hi,
Yes it is.
Thanks,
Hi guy,
Thanks for the great jobs. Can you provide some documentation.
A basic demo on how to use it.
I tried something like this but it does not work
//With all the necessary imports
Ribbon ribbon = new Ribbon();
RibbonTab homeTab = new RibbonTab(“Home”);
RibbonGroup fileGroup = new RibbonGroup();
homeTab.addRibbonGroup(fileGroup);
ribbon.addTab( homeTab);
root.getChildren().add(ribbon);
//Rest of code
And of course, i write the Ribbon::addTab() and RibbonTab::addRibbonGroup() method myself
here are the content of the methods.
public class Ribbon{
public void addTab(RibbonTab tab){
tabs.add(tab);
}
}
public class RibbonTab{
public void addRibbonGroup(RibbonGroup ribbonGroup) {
ribbonGroups.add(ribbonGroup);
}
}
Best regards,
Famian
Hi Famian,
I’m glad you like it.
In the repo there is a sample app.
Thanks, best regards,
Não encontrei o app de amostra pode mandar o link por favor?
Check out the https://pixelduke.com/fxribbon documentation page. If you still not sure how to use it, tell me what you don’t understand and I might include some explanation for that in that page.
Hey,
very nice Job!
Easy to use, works great and an excellent “how to” create own JavaFX Controls, using Control and SkinBase .
Really gave me a lot of ideas, love your work here!
Best Regards,
Niklas
Thanks Niklas for the kind words.
Friend could make a manual / document of how to use its componetes, I am trying to use in netbeans more without success.
I’ll most probably be doing that in the near future. Stay tuned..
Check out https://pixelduke.com/fxribbon
You could distribute .jar so the dev should be added as a library and used for practical use in either the IDE or Scene Builder
Check out https://pixelduke.com/fxribbon for instructions to download the jar.
I do intend to do that in the future.