Anyone still using GBUI for jME GUI?

I wonder if anyone still using GBUI other than gerbildrop here, because I rarely see a topic regarding this library, and why do people use other libraries when this one looks good in Bang! Howdy? because i also find that the styling quite easy in GBUI using stylesheet for those who are familiar with css in html, there are a few problems though, but the BUI system is very intuitive to be used for menu system in the game…

The GUI options are too many and none quite right, im too wondering what is right one to use

I advise you to skim through this thread. Its the latest comparison I remember between different GUI libraries. Here is a slightly earlier thread on a similar topic. Another thread containing a comparison of GUI libraries.

The question that you ask keeps reappearing but there still is no clear answer. The GUI library you should use depends on your particular case. I found FengGUI to be the most suitable option. Others are perfectly happy with Swing.

[Edit] PS - and don’t forget there is talk of more GUI support (I do not know in what form) in the next release of jME - version 2.0 [/edit]

Unfortunately I do not know much about GBUI. I can say that it is not discussed here on the forums very much… Only very occasional mentions on passing. If you are looking for help with GBUI, perhaps you should check this thread on BUI. Some links in there. Anyways when you check the GBUI site at googlecode, you can see that the latest update to the sources is from March 18 - so I’d say it si still very actively improved. I would suggest you try to contact ‘gerbildrop’ or ‘sfera’ here on the forum with private messages.

Besides that, Search is your best friend. I am afraid thats all from me :slight_smile: Good luck

Feel free to ask myself or sfera any questions.  We're still fairly active and making some changes here and there.

I chose BUI for my code because it made more sense to me than FengGUI… I think it's a matter of preference, of course I think everything is a matter of preference.

Once I chose BUI, I started adding more and more features and eventually branched the code to GBUI, because BUI is hardly ever updated anymore, and they're so swamped they don't have time to merge changes back to their trunk… so I just keep what I have.

gr33nl1nk has found a few things that I've either made a fix or he's figured out what he did before I could answer.  I've got a few things to look at for him still.

All in all, I wrote a lot of tests, not unit tests, but tests none the less.  You can open up any of those tests and see what they do… my goal was to make BUI even more easier than it was to use and I think Sfera and I have done ok with that.

As always it comes down to what you want it to do and what you want it to look like and how you want to code it.

I agree with mindgamer, read the other topics and they should help make up your mind.  On the google site, I also have a few wiki entries for basic things on how to use BUI… more tho, you'll get from the tests in the library.  And I had code locally updated for jme11, but I kept forgetting to upload the jars, so they're up there now.  If GBUI doesn't do what you want, just let me know what you want and maybe I can figure out how to get it working for you.  I believe, but am not sure, that FengGUI has a few more features than GBUI does.


gerbildrop said:

Once I chose BUI, I started adding more and more features and eventually branched the code to GBUI, because BUI is hardly ever updated anymore, and they're so swamped they don't have time to merge changes back to their trunk... so I just keep what I have.

Nice one gerbildrop, I will look into this seriously, was thinking about starting a project for a GUI, but as this is being worked on then and if its ok with you guys I will look to muck in with GBUI. Just got back from Hols, so need to fix some last bits with the Terra Stuff and will have a look at GBUI once Terra work is done

One thing that concerned me with fengui is possible expensive calls each frame, possibly GL.LoadIdentity and other initialisation routines - maybe its not an issue but this aside from a development perspective its easier to keep it all in one tech base, especially when you may want to render to texture what is already in the JME Scene ( eg to show your character within the GUI )

It's fine with me.  I'm sure Sfera won't mind either.  There are some things that can be cleaned up since most of the code was inherited from the original project, but muck away:)

Let me know if you have any questions about any of it.



I use GBUI (have always heard of it referred to as BUI, but I guess it's a new branch), and I really like it.  I tried FengGUI briefly and found it too much of a PITA, used BUI and it worked just as I wanted.  Although the code may be a bit messy (some evidenced in documentation), it does what I need in an easy way, so I'm very happy.

Thanks, gerbildrop (and friends), for continuing to work on the project!

close to making project need one type of GUI.

do you think that GBUI will be the right choice and supported for tommorrow

You probably want to check some of the other topics linked through Mindgamer's post.

In principle, you should be able to use any GUI for your project, and if you run into any serious issues, simply change your GUI without changing your whole game (using a GameState for GUI for instance - just change how that GameState is created - can even use the same calls for functionality).  But, if you really need to be sure - make a prototype.  Go ahead and try out GBUI to see if you can do what it is you want - if not, try something else, etc.  GBUI was my choice from this process, after trying FengGUI and having issues with it - however that was a while ago (I believe one of the issues was that I had to re-write a whole bunch of code to just get it to work, and decided it wasn't worth the trouble).

Well in all honesty I did not do a full comparison of GUI libraries before settling on FengGUI. I made my decision based on reading a lot of threads (which seemed to feature many FengGUI users), example cases in jME wiki itself, a fairly responsive separate FengGUI forum and the promise that it has more functionality than the other libraries out there.

GBUI or BUI for that matter was hailed as simpler to use and set up than FengGUI, but as I did not know at then that it is still actively being developed, I felt FengGUI was a better choice. I am considering trying GBUI out in some test now to see just how simple it is.

And I can say that I did not have to change any FengGUI code to make it work.

what i like about GBUI is the library provides an easy way to change the properties of the GUI component e.g. background, color, border, layout, position, etc, through the use of external style sheets apart from the java codes, and it makes the menu windows managable, because the BUI system also provides a history stack to push and pop the menu screens, so that we can go back and forth multiple menu screens quite easily. Below are some GUI I made for my game using GBUI. Thanks to Gerbildrop for all his helps :stuck_out_tongue:

notice that some features such as textfield transparency, button hovering, windows background can also be set easily through banana style sheet (bss). I took the background picture from the internet though :stuck_out_tongue:

intro screen

main menu

multiplayer menu

join game menu

All that you have shown can of-course also be achieved with FengGUI. Styles can be pulled in from external files and used. But… damn I am tempted :slight_smile:

For this to gain more momentum you need to make some nice WiKi articles, like they have about FengGUI. Put it in front of people, so they do not have to search.

I agree Mindgamer.  I have a few wiki articles, but not a lot.  I'll look at the FengGUI wikis and write more.

I have looked at these pages:

Are these all of the wiki pages for fengGUI?

Just ran the examples, from a peak at the source it does look simple to use and the look is nice and smooth.

Quick question on the performance when running Loyout Test. I was only getting 70 fps which seems low given the few meshes there where. Is there anything that can be done to improove this ( locking etc )

I haven't ever had any issues with performance.  When I run the LayoutTest I get 350fps, so different machine, different speed.  I'm sure there is something that can be done to increase fps (I didn't write this test, it's an original).  I'd have to look more at this test to see what's going on.

Just ran it again, was on 70fps, then after 30 secs goes to 300… Have had a few other anomlies of late - time for a virus scan i think

Actually I just meant that we should have something on GBUI in the jME WiKi… could be something little like this:

Mindgamer said:

Actually I just meant that we should have something on GBUI in the jME WiKi... could be something little like this:

Oh, my bad.  Alrighty then, I'll put together something by Monday.