Still don't know what GUI system to choose

Hello people,



I want to continue with the GUI part of my application but I can't still decide what GUI system to use.



I know this has been discussed lots of time but I am having a hard time deciding if should continue with FengGUI or change to Swing (since it is integrated with jME core) or BUI (since it is supported from the jMonkeyEngine home page).



Does someone think that the GUI you use is the best one?



I just want to save time looking through them again and I don't want to change my implementation later.



Thank you!



J

First to vote! I used the swing in my last project because it was easy. I'm planning to try FengGUI next to see the performance difference and customization stuff.

I voted custom UI, Ive been working on a GUI library for my games and adding features as I need them. I have buttons, textField, optionChoosers, and checkbox. I will make open source when I feel its more functional  :slight_smile:

I really hate standard desktop GUIs in games, I think they ruin the feeling of a game by reminding me of Excel or something :wink: I think if anything, desktop-style GUIs should be learning from elegant games GUIs. So I'm going for a custom system :slight_smile:

Just have to chime in for FengGUI.  I find it has much better performance than the swing stuff and is fully skinnable.  Development is fairly active and response to problems is fast.

DF,

  I've evaluated swing, fenggui and bui. 



  I've found that I like BUI the best so far… it's extremely easy to use and, so far, it's been able to handle everything that I need for the complicated menu structures and the displays.  I'm going with BUI over the other implementations I've looked at… and I've already rewritten everything in BUI in less than a day (and there were a lot of menus).



  I haven't found anything that it can't do yet, except for the GameControl menu stuff that you had written in Swing… I'm rewriting that now for BUI… but not a big deal.  It's well written, IMO, and I'm very comfortable with the fact that if I need to extend something I can do it pretty quickly.

seems like i'm the only one using BUI…

i don't want my game to look like a java desktop application so swing isn't an option for me.



i once walked the custom gui path for a while but i noticed that i invested more time in implementing the gui than in the game itself, so i took a look BUI. (LGPL'ed, performant, used in a commercial game, comes with a small set of gui components which you can adapt if necessary)



if i'll ever start another jme game project, i'll also evaluate FengGui (if i remember correctly, it had no jme "binding" or it was in it's very early stages at the point when i needed a gui lib)

I'd be interested in a deeper evaluation of BUI as I've been considering taking a look at it for a while, just haven't taken the time to do so yet.  Do you find it fully capable for all scenarios you've run into thus far?

darkfrog said:

I'd be interested in a deeper evaluation of BUI as I've been considering taking a look at it for a while, just haven't taken the time to do so yet.  Do you find it fully capable for all scenarios you've run into thus far?

until now, yes. while i use quite much gui for my game, the gui itself is very simplistic (that was one of the reasons i chose BUI - i just wanted simple things). so you might want to evaluate BUI for your own needs. i suppose you also need a lot of custom UI/HUD components for your game.
some things to note about BUI is that it does access LWJGL directly and the GUI textures/images are cached separately from the in-game textures.

currently bang! howdy is still the best (and probably still the only) example of BUI at work.

the code-style is the only thing i don't like about BUI.
sfera said:

the code-style is the only thing i don't like about BUI.


I will agree with that.  I hate the code-style as well.  I used IntelliJ's reformatter to reformat the code... so it's not as bad for my taste.

yeah but if you just reformat everything it will be hard to stay up to date with the BUI repository :slight_smile:

I just resync the entire thing from SVN then reformat it when I'm done.



It takes a minute or two, but I guess I don't worry so much about seeing what's new.  I should see what's different, but I don't :roll:



I probably shouldn't reformat it, the style doesn't drive me that crazy.



Ok, from now on, I'm not reformatting… damn you sfera for pointing out another weakness… now I'm slow AND a bad reformatter :-o


XD

You could use the Jalopy plugin for Eclipse and not ever look at the sources, just the classes and have Jalopy format them when it decompiles? :o

i actually don't understand the use of jalopy except as an ant task.

I don't know why but my mental functions were twisted and I was saying "Jalopy" I was meaning "JadClipse".  Jalopy is pretty cool as well, but why bother with it anymore since Eclipse has all the functionality built-in and more.

hehe. now jad is another thing  :wink:

I use intelliJad on intellij… I hadn't thought about using it for this… although, when it pulls the bytecode, like jad it puts int i, int i2, etc instead of int x, int y that could be why I go to the source a lot more.



I'll have to remember to see what the format comes out like when intelliJad runs.

sfera said:

the code-style is the only thing i don't like about BUI.


I currently play around with BUI (and will probably use it in my game), but I can only agree. E.g. the class BConstants sends shivers down my spine.

BConstants is an interface :stuck_out_tongue: (like SwingConstants)



and i agree. it's an ugly way to define constants