¿Cómo crear un botón autoexistente en una línea en Java?

Si realmente desea hacer eso en una línea, puede extender la clase JButton y agregar el oyente en un inicializador de instancia:

    panel.add(new JButton("text") {{ addActionListener(e -> classX.addNewTest()); }} );

No recomendaría hacerlo: es muy difícil de entender, casi ofusca el código, y está creando una subclase de JButton sin extender realmente su funcionalidad. Vea Qué es la inicialización de doble llave.

Un mejor enfoque podría ser escribir un método para crear botones. Lo hago para la mayoría de los componentes:

    panel.add(createJButton("test", e -> classX.addNewTest()));

...

private JButton createJButton(String text, ActionListener listener) {
    JButton button = new JButton(text);
    button.addActionListener(listener);
    // more customization if needed
    return button;
}
Respuesta 1

Si no me equivoco, ¡ esto no es posible con una línea !

¿Por qué?

Debido a que hay diferentes tipos, por ejemplo: jButton.addActionListener(Action)no devuelva nada, voidpor lo que no podría agregar un tipo vacío a una Lista que tome un JButtontipo.

y puede obtener este error: 'void' type not allowed herey type-discordancia-no puede convertir typeX a typeY

¿Qué es "No coinciden los tipos" y cómo lo soluciono?

Espero que esto le pueda ayudar.

Respuesta: 2

Mi aplicación ya está publicada en Play Store cuando actualice esta aplicación, luego Genere un paquete firmado / APK y luego elegiré la ruta existente pero "No se encontró ninguna clave con el alias 'clave 0' en el almacén de claves" este mensaje ...

Tengo una página jsp, índice, este es su código: <script src = "http://code.jquery.com/jquery-latest.min.js"> </script> <script src = "alteraSala.js" > </script> <div id = "conteudo" & ...

Realmente estoy luchando por comprender los bucles anidados y lo he hecho de la siguiente manera: int arr [] [] = new int [10] [3]; int i, j; arr [0] [0] = 21; arr [1] [0] = 41; arr [2] [0] = 61; arr [...

Recibo el siguiente error cuando ejecuto "mvn clean package -e" con el complemento checkstyle: [ERROR] Error al ejecutar el objetivo org.apache.maven.plugins: maven-checkstyle-plugin: 3.0.0: check (validar) en ...