Here you can find the source of selectWithoutNotifyingListeners(JComboBox comboBox, int selectedIndex)
public static void selectWithoutNotifyingListeners(JComboBox comboBox, int selectedIndex)
//package com.java2s; /*//from w w w . j a v a 2 s . co m * Copyright (C) 2006 The Concord Consortium, Inc., * 25 Love Lane, Concord, MA 01742 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * END LICENSE */ import java.awt.event.ActionListener; import java.awt.event.ItemListener; import javax.swing.AbstractButton; import javax.swing.JComboBox; public class Main { public static void selectWithoutNotifyingListeners(JComboBox comboBox, int selectedIndex) { ItemListener[] il = comboBox.getItemListeners(); if (il != null) { for (ItemListener x : il) comboBox.removeItemListener(x); } comboBox.setSelectedIndex(selectedIndex); if (il != null) { for (ItemListener x : il) comboBox.addItemListener(x); } } public static void selectWithoutNotifyingListeners(AbstractButton ab, boolean selected) { ItemListener[] il = ab.getItemListeners(); if (il != null) { for (ItemListener i : il) ab.removeItemListener(i); } ActionListener[] al = ab.getActionListeners(); if (al != null) { for (ActionListener i : al) ab.removeActionListener(i); } ab.setSelected(selected); if (il != null) { for (ItemListener i : il) ab.addItemListener(i); } if (al != null) { for (ActionListener i : al) ab.addActionListener(i); } } }