Как я могу предотвратить проскальзывание нижележащих разделителей через мое меню! - PullRequest
1 голос
/ 06 июля 2011

У меня есть форма Swing, состоящая из JFrame, содержащего JMenuBar и JSplitPane (далее подразделяется на JPanels с изменяемым размером). Проблема в том, что когда я выбираю одно из выпадающих меню, если один из разделителей для JPanels находится под меню, он фактически отображается в верхней части меню! Как будто у разделителя был фокус вместо меню.

У меня была такая же проблема с другим (похожий проект, который я делал), ни разу не нашел исправления, просто отказался от использования меню (перешел в систему на основе вкладок / нажатия клавиш). Я действительно хочу, чтобы меню работали над этим текущим проектом, надеюсь, без разделителей, которые копаются в меню и раздражают меня. : -)

Идеи? * * 1005

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Убедитесь, что вы используете легкие компоненты Swing, а не тяжелые компоненты AWT.(т.е. JPanel вместо Panel, JMenuBar вместо MenuBar и т. д.)

Сочетание тяжелых и легких компонентов часто приводит к проблемам, с которыми вы сталкиваетесь.

0 голосов
/ 07 июля 2011

ОК, я понял, и это действительно интересный случай!

В конце концов я понял, что часть кода в части формы внедряет некоторые пользовательские компоненты. Изучение этих пользовательских компонентов показывает, что они рисуют в графическом пространстве (через fill3DRect) ... Элементы, нарисованные таким образом, всегда в конечном итоге отображаются / "сверху" ...

Теперь, чтобы попытаться выяснить, как заставить их функционировать в мире Swing ...: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...