¿Cómo puedo asociar un evento con un objeto?

Estoy creando esta aplicación, tiene varios componentes (osciladores, efectos) para dibujar una forma de onda visual. Utiliza controles en la GUI para cambiar los parámetros del componente.

Cuando interactúa con uno de los controles, necesito actualizar el componente asociado y luego volver a dibujar la salida.

public JPanel createOscPanel(Osc o)
 {
 JPanel cbPanel = new JPanel(); 
 final String[] comboItems = {"Sine", "Custom", "FSaw", "FSquare"};
 JComboBox cb = new JComboBox(comboItems);
 cbPanel.add(cb); 

 cb.addActionListener(this);

 return cbPanel; 
 }

public void actionPerformed(ActionEvent e) {
    JComboBox cb = (JComboBox)e.getSource();
    int value = cb.getSelectedIndex();

    System.out.println(value); 
} 

En este ejemplo, ¿cómo puedo pasar ese oscilador para poder ejecutar un setWaveType()método en él?

Respuesta 1

Cree un controlador anónimo y cambie el parámetro de createOscPanel.

public JPanel createOscPanel(final Osc o)
 {
   JPanel cbPanel = new JPanel(); 
   final String[] comboItems = {"Sine", "Custom", "FSaw", "FSquare"};
   JComboBox cb = new JComboBox(comboItems);
   cbPanel.add(cb); 

   cb.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e) {
           JComboBox cb = (JComboBox)e.getSource();
           int value = cb.getSelectedIndex();
           o.setWaveType();
           System.out.println(value); 
      } 
    });
  return cbPanel; 
 }
Respuesta: 2

Tengo KafkaProducer, he configurado el serializador de clave y valor como se muestra a continuación: props.put ("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put ("value.serializer" ...

Estoy trabajando en Java Tengo una clase llamada Comando. Esta clase de objeto almacena una lista variable de parámetros que son primitivos (principalmente int y double). El tipo, número y orden de los parámetros es ...

Estoy súper confundido con este. El código es generar todas las permutaciones de una lista dada de enteros. Una vez que haces esto, agregan otra restricción que es que la entrada dada puede tener duplicados, ...

Necesito usar Java Stream en este código, pero no sé cómo funciona con una lista vacía. Estoy tratando de encontrar algo así como un tiempo en Stream Java 8, pero no puedo encontrarlo. Lista estática pública <...