Почему JSeparator становится JPopup.Separator? - PullRequest
0 голосов
/ 12 октября 2019

Когда я добавляю разделитель в меню через конструктор Netbeans, он становится JPopupMenu.Separator, а не JSeparator, как я на самом деле хочу.

Я не использовал Java в течение нескольких лет и собираюсь вернуться к редактированию старого кода. В старом коде у меня меню разделено JSeparator разделителями. Я добавил несколько пунктов в меню и хочу отделить их.

Однако, когда я добавляю разделитель в меню с помощью палитры Netbeans, он добавляется как JPopupMenu.Separator, который имеет другой вид (более плоский, не выгравированный). Чтобы обойти это, я попытался скопировать и вставить один из существующих JSeparator разделителей. Даже тогда, хотя он объявлен как JSeparator, он инициализируется как JPopupMenu.Separator.

Чтобы обойти это, я настроил код создания (щелкнув правой кнопкой мыши по элементу и выбрав Customize Code ...), чтобы он не только был объявлен как JSeparator, но и инициализирован как JSeparator. Тем не менее, он по-прежнему не похож на другие разделители, и это, вероятно, потому, что в свойствах объекта его класс Bean задан как javax.swing.JPopupMenu$Separator.

Почему это? Что изменилось? Почему у меня не может быть JSeparator, чтобы соответствовать существующим разделителям? Есть ли обходной путь?

...