Plans to modernize the GUI framework? #8460
Replies: 2 comments 3 replies
-
There are no plans for such a modernization. Swing is so deeply embedded in the project that a full rewrite would likely be needed to change the UI. Not only do we use Swing, but we have created our own layer of widgets on top of Swing to make UI development easier (e.g., GTables and GTrees). Creating new complex UI components in Ghidra is super easy. Moving to a new framework would mean replacing some or all of these custom widgets. I had looked into JavaFx years ago. At that time, it seemed like the project had stalled. My impression is that JavaFx was intended to be a replacement for Swing, but I could not find community response that suggested JavaFx was gaining traction. I imagine that having so many devs familiar with Swing keeps that API in use. I think you can build modern, attractive UIs in Swing, but perhaps that is not typically a priority for many projects. I suppose it would be possible to update the UI, while keeping Swing, to create a modern aesthetic. But, that will likely never be high enough on our priority list to get done. My hope is that eventually our outdated UI will become retro-chic. |
Beta Was this translation helpful? Give feedback.
-
I've always been surprised that the RE community has not asked us to make it look more 8-bitty. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I’m a new Ghidra user and first of all I’d like to thank you for this amazing tool and all the work put into its development.
Overall, the user interface works well and is functional, but I feel it’s starting to look a bit dated. Projects like ImHex have shown that it’s possible to create a modern and aesthetically pleasing GUI, which could help attract new users as well.
I do understand that Ghidra is a huge project and rewriting the graphical backend would be a very complex and time-consuming task. That’s why I wanted to ask if there are any long-term plans to move away from Swing to a more modern framework (e.g., JavaFX) or to use hardware-accelerated rendering (e.g., OpenGL/Vulkan) at least for more complex components like graph visualization?
I’m curious whether such modernization is being considered at all and whether potential contributions in that direction would be welcome.
Thank you in advance for your reply!
Beta Was this translation helpful? Give feedback.
All reactions