@Override
		public void paintIcon(Component c, Graphics g, int x, int y) {
			g.setColor(Messages.HINT);
			g.drawLine(x, y, x, y + ARROW_ICON_HEIGHT);
			g.setColor(Colors.FOREGROUND);

			int arrowMiddleX = x + ARROW_ICON_WIDTH / 2;
			int arrowStartX = arrowMiddleX - ARROW_WIDTH / 2;
			int arrowEndX = arrowStartX + ARROW_WIDTH;

			int arrowStartY = y + ARROW_ICON_HEIGHT / 2 - ARROW_HEIGHT / 2;
			int arrowEndY = arrowStartY;
			int arrowMiddleY = arrowStartY + ARROW_HEIGHT;

			int[] xPoints = { arrowStartX, arrowEndX, arrowMiddleX };
			int[] yPoints = { arrowStartY, arrowEndY, arrowMiddleY };

			Graphics2D graphics2D = (Graphics2D) g;
			graphics2D.drawPolygon(xPoints, yPoints, 3);
			graphics2D.fillPolygon(xPoints, yPoints, 3);
		}
Show a popup containing all the actions below the button

@return the popup menu that was shown
Ghidra/Framework/Docking/src/main/java/docking/menu/MultiStateButton.java