Конечно, я думаю, ты мог бы использовать mergeMap
, чтобы разделить эмиссии.
numberRange$.pipe(
mergeMap(nums => nums) // mergeMap(nums => from(nums))
).subscribe(console.log);
Наконец, я реализую «кнопку опций показа» с помощью простого Jutton и JPopupPane с опциями для отображения:
В ActionPerformedListener кнопки я пишу этот код:
popMenu.show(showOptionsButton,0,showOptionsButton.getHeight())
Он отлично работает как JMenu в JMenuBar, но не совсем как выпадающая кнопка, в которой вы можете выполнить действие, нажав кнопку или показать больше действий, нажимая кнопку стрелка вниз. Я полагаю, что это можно сделать, используя две кнопки «очень близко», затем используйте приведенный выше код в кнопке со стрелкой, но установите «кнопку действия» в качестве компонента всплывающего окна, чтобы всплывающее окно показывало внизу обеих кнопок.
A JMenuBar
должен только быть добавлен к a JFrame
(setMenuBar()
), не a JPanel
.
Кнопка раскрытия списка Swing является способом пойти сюда.
См. эту статью для хорошего обсуждения различных суждений реализации
сопроводительный текст http://blogs.sun.com/geertjan/resource/dropdownbutton1-jl.png
Вышеупомянутая выпадающая кнопка использует API NetBeans UI Utilities (platform7/modules/org-openide-awt.jar
в любом распределении NetBeans IDE). У Вас не должно быть NetBeans для выполнения его: только эта банка Вы извлекли из установки NetBeans.