Método SwingUtilities parámetro contiene todo el cuerpo método?

Mateo:

He estado leyendo sobre el método SwingUtilities.invokeLater (), y entiendo en gran parte su propósito. Cuando se trata de componentes GUI, todas las acciones en estos componentes se deben hacer en el mismo subproceso de eventos de carreras EVITAR, etc.

Sin embargo, y lo que creo que muchas preguntas no han podido ampliar, es cómo el código funciona realmente? En cuanto a que:

SwingUtilities.invokeLater(new Runnable()
{
    public void run()
    {
        //method body code
    }
);

La pregunta que tengo es, ¿cómo es este trabajo? Estamos pasando el método invokeLater () un nuevo obj Ejecutable (lo cual pensé que era Ejecutable una interfaz de todos modos, ¿cómo crear instancias de un constructor new Runnable()?) Y luego fijar un cuerpo de método y divertirme con él dentro de una llamada al método : {//Method body code});. ¿Cómo es eso posible? Nunca he visto una toma método en un cuerpo de método entero como uno de sus parámetros.

Cuando trato de reproducir esto con mis propios métodos, consigo errores que indican que no puedo suministrar cuerpos de los métodos enteras dentro de un parámetro del método. Por lo tanto, vuelvo a mi pregunta inicial de cómo funciona realmente . Tal vez estoy pensando demasiado / vistas, pero cualquier ayuda es muy apreciada.

Gracias.

Elliott fresca:

Las clases anónimas . Puede pasar cualquier clase que implementa Runnable, incluso un anónimo.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=200092&siteId=1
Recomendado
Clasificación