# Colors in popup menus?

**URL:** <https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [June 10, 2025, 7:17am UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212 "2025-06-10T07:17:25Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Henk](https://avatars.discourse-cdn.com/v4/letter/h/b5ac83/32.png) [@Henk](https://forum.inductiveautomation.com/u/Henk)\
**Post date:** [June 10, 2025, 7:17am UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212/1 "2025-06-10T07:17:25Z")

</div>

I am trying to set the text and background color in a popup menu via a script. This works, only the item of submenu 'Test2' keeps the default colors. What am I doing wrong? The script below is the script I used for testing.

```python
from javax.swing import JMenuItem
from java.awt import Font
from java.awt import Cursor
from com.inductiveautomation.ignition.client.images import PathIcon
from javax.swing import JMenu

FONT_DROPDOWNITEMS=Font("Arial Narrow",Font.PLAIN,20)

def popupmenu( event ):	
	menu = system.gui.createPopupMenu([],[])
		
	# Menu item 1
	menuItem=JMenuItem()
	menuItem.text='Test1'
	menuItem.actionPerformed=dummyFunctie
	icon=PathIcon()
	icon.path='MOBZ/error-outline.png'
	menuItem.setIcon(icon)
	commonSettings(menuItem)	
	menu.add( menuItem ) 	
	
	# Menu item 2 (submenu)
	submenu=JMenu('Test2')
	
	# Submenu item 2a
	submenuItem=JMenuItem()
	submenuItem.text='Test2a'
	submenuItem.actionPerformed=dummyFunctie
	commonSettings(submenuItem)
	submenu.add(submenuItem)
	
	# Submenu item 2b
	submenuItem=JMenuItem()
	submenuItem.text='Test2b'
	submenuItem.actionPerformed=dummyFunctie
	commonSettings(submenuItem)
	submenu.add(submenuItem)
	
	submenu.setEnabled(True) 
	commonSettings(submenu)
	menu.add( submenu ) 									
	
	menu.show(event,0,0)

def commonSettings(menuitem):
	menuitem.background=system.gui.color('220,220,220')
	menuitem.foreground=system.gui.color('0,0,0')
	menuitem.setFont(FONT_DROPDOWNITEMS)	
	
def dummyFunctie(event):
	print 'dummy'
		
popupmenu(event)

```

---

<div class="post-metadata">

**Author:** ![hayden.watson](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@hayden.watson](https://forum.inductiveautomation.com/u/hayden.watson)\
**Post date:** [June 10, 2025, 8:16am UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212/2 "2025-06-10T08:16:39Z")

</div>

Maybe a silly question, but would it not be easier to have a popup view and pass all the colour and text information to parameters?

---

<div class="post-metadata">

**Author:** ![Henk](https://avatars.discourse-cdn.com/v4/letter/h/b5ac83/32.png) [@Henk](https://forum.inductiveautomation.com/u/Henk)\
**Post date:** [June 10, 2025, 8:26am UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212/3 "2025-06-10T08:26:31Z")

</div>

Maybe, but that is not the question.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 10, 2025, 12:40pm UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212/4 "2025-06-10T12:40:37Z")

</div>

Have you tried settings it color and font _before_ adding the nested entries?

---

<div class="post-metadata">

**Author:** ![Henk](https://avatars.discourse-cdn.com/v4/letter/h/b5ac83/32.png) [@Henk](https://forum.inductiveautomation.com/u/Henk)\
**Post date:** [June 11, 2025, 5:05am UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212/5 "2025-06-11T05:05:47Z")

</div>

Yes, before adding

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [June 11, 2025, 5:53am UTC](https://forum.inductiveautomation.com/t/colors-in-popup-menus/107212/6 "2025-06-11T05:53:55Z")

</div>

Take a look at this thread:

> [@Popup Menu Style Changes in Vision](https://forum.inductiveautomation.com/t/popup-menu-style-changes-in-vision/91425/10):
>
> I was able to wrap the original listener with my own and achieve the desired effect. Example: # Using the mouseReleased event handler # Create a listner that reapplies the selected property of all JySubMenu items # ...after the BasicMenuUI listener has done all of its required work from java.awt.event import MouseAdapter class NonDeselectingListener(MouseAdapter): def \_\_init\_\_(self, originalListener): self.originalListener = originalListener def mouseEntered(self, event): self.origin…
