bug6278700.java revision 633
4632N/A/*
5990N/A * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
4632N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4632N/A *
4632N/A * This code is free software; you can redistribute it and/or modify it
4632N/A * under the terms of the GNU General Public License version 2 only, as
4632N/A * published by the Free Software Foundation.
4632N/A *
4632N/A * This code is distributed in the hope that it will be useful, but WITHOUT
4632N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4632N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4632N/A * version 2 for more details (a copy is included in the LICENSE file that
4632N/A * accompanied this code).
4632N/A *
4632N/A * You should have received a copy of the GNU General Public License version
4632N/A * 2 along with this work; if not, write to the Free Software Foundation,
4632N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4632N/A *
4632N/A * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
4632N/A * CA 95054 USA or visit www.sun.com if you need additional information or
4632N/A * have any questions.
4632N/A */
4632N/A
4632N/A/* @test
4632N/A * @bug 6278700
4632N/A * @summary JSlider created with BoundedRangeModel fires twice when changed
4632N/A * @author Pavel Porvatov
4632N/A @run main bug6278700
4632N/A */
4632N/A
4632N/Aimport javax.swing.*;
4632N/Aimport javax.swing.event.ChangeEvent;
4632N/Aimport javax.swing.event.ChangeListener;
4632N/A
4632N/Apublic class bug6278700 {
4632N/A private int changeCount;
4632N/A
4639N/A private final ChangeListener listener = new ChangeListener() {
4639N/A public void stateChanged(ChangeEvent e) {
5232N/A changeCount++;
4717N/A }
4632N/A };
4632N/A
4632N/A public static void main(String[] args) {
6093N/A new bug6278700();
4632N/A }
4632N/A
4632N/A public bug6278700() {
4632N/A SwingUtilities.invokeLater(new Runnable() {
4632N/A public void run() {
5555N/A JSlider slider = new JSlider(new DefaultBoundedRangeModel(5, 0, 0, 10));
5555N/A
4632N/A slider.addChangeListener(listener);
4632N/A slider.setValue(0);
4886N/A
4717N/A if (changeCount != 1) {
6060N/A throw new RuntimeException("Incorrect stateChanged count: " + Integer.toString(changeCount));
4632N/A }
4632N/A
4632N/A changeCount = 0;
4632N/A
4632N/A slider = new JSlider();
4632N/A
4632N/A slider.addChangeListener(listener);
4632N/A slider.setValue(0);
4632N/A
4632N/A if (changeCount != 1) {
4639N/A throw new RuntimeException("Incorrect stateChanged count: " + Integer.toString(changeCount));
4639N/A }
4639N/A }
4632N/A });
4632N/A }
5041N/A}
4632N/A