FlatMenuUI: remove JMenuBar dependency #794
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A ClassCastException is thrown in
FlatMenuUI.java
when using aCommandMenuBar.java
in JIDE. This occurs sinceFlatMenuUI
assumes there is always aJMenuBar
as parent for aJMenuItem
. The problem occurs if resizing the width of the window whereas JIDE automatically replacesJMenu
's that doesn't fit with a clickable icon. Clicking it shows a popup window with the menus that doesn't fit to display. The owner of theJMenuItem
's is then aCommandBarPane
instance rather than the originalCommandMenuBar
. The CCE happens when clicking the icon.This PR generalizes
FlatMenuUI
to not require aJMenuBar
.With this change it now works fine with JIDE.