Here you can find the source of fixIconTextGap(JComponent menu)
public static void fixIconTextGap(JComponent menu)
//package com.java2s; /*/*w w w . ja va 2s. c o m*/ * Copyright (c) 2008, 2009, 2010, 2011 Denis Tulskiy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * version 3 along with this work. If not, see <http://www.gnu.org/licenses/>. */ import java.awt.Component; import javax.swing.AbstractButton; import javax.swing.JComponent; import javax.swing.JMenu; import javax.swing.UIManager; public class Main { public static void fixIconTextGap(JComponent menu) { if (isNimbusLaF()) { Component[] components = menu.getComponents(); for (Component component : components) { if (component instanceof AbstractButton) { AbstractButton b = (AbstractButton) component; b.setIconTextGap(0); } if (component instanceof JMenu) fixIconTextGap(((JMenu) component).getPopupMenu()); } } } public static boolean isNimbusLaF() { return UIManager.getLookAndFeel().getName().contains("Nimbus"); } }