Control deslizante de Java: ¿disparar fireStateChanged () sin cambiar el valor?

Usé el siguiente código al inicializar mis controles deslizantes:

//Gets the corresponding slider value, from it's represented value. 
int curr = valueToSlider(min, max, current, scale, q, grains); 

final JSlider slider = new JSlider(JSlider.VERTICAL, 0, grains, curr);

slider.addChangeListener(new ChangeListener() {

  public void stateChanged(ChangeEvent event) {
    double value = sliderToValue(min, max, slider.getValue(), scale, q, grains); 
    String str = ""; 

    if (valueType == SliderValueType.FLOAT) 
       str = String.format("%.2f",value);
    if (valueType == SliderValueType.INTEGER) 
       str = String.format("%.0f", value); 

    valueLabel.setText(str); 
    callCommand(c, value);
  }
});

Ahora necesito activar el evento modificado para que la etiqueta valueLabel se configure en su formato correcto.

slider.setValue(curr); 

Supongo que eso no desencadena el evento modificado porque el valor no ha cambiado. Una solución hacky simple es hacer algo como:

slider.setValue(1);
slider.setValue(curr);

Pero podría imaginar que en algún código, que desencadenar el evento modificado con un valor aleatorio, podría tener consecuencias no deseadas.

Podría reproducir ese setTextmétodo en mi método de inicialización.

if (valueType == SliderValueType.FLOAT) 
   str = String.format("%.2f",curr);

if (valueType == SliderValueType.INTEGER) 
   str = String.format("%.0f", curr); 

valueLabel.setText(str);

(Que suena como la mejor solución aquí para ser honesto).

Pero solo me pregunto: ¿hay alguna manera de desencadenar un evento cambiado de otra manera?

Respuesta 1

Entiendo que los métodos ConcurrentHashMap son seguros para subprocesos, pero qué pasa con las operaciones compuestas que no son atómicas, por ejemplo, vea este código: si 2 subprocesos diferentes lo llaman al mismo tiempo ...

Posible duplicado: un servidor de sockets PHP con clientes Flash Estoy creando una aplicación en mi servidor con la ayuda de un desarrollador de flash, y él me pidió que construyera un servidor de sockets para comunicarme con el ...

Estoy tratando de crear una clase GSON pero no estoy seguro de cómo manejar este caso. De acuerdo con las especificaciones de la API, las opciones pueden ser valores de lista: ["uno", "dos"] O puede ser una lista de pares {"valor": "Etiqueta"} ...

Hice algo en mi proyecto y todos los poli se vuelven transparentes. Descargué mi viejo git, todo estaba bien, pero todavía era transparente. Evento de marca: en el renderizado, todos los dibujos polivinílicos rinden público (...