SWT: pregunta sobre las mejores prácticas de Dialog para recuperar resultados / detectar entradas de usuario abortadas

Quiero construir una aplicación de base de datos con SWT / JFace como biblioteca de interfaz de usuario. He estado acostumbrado a codificar SWT a mano y quería profundizar en la vinculación de datos con JFace desde que me topé con él la primera vez que utilicé el complemento Eclipse de Window Builder.
Actualmente mi trabajo se centra en el diálogo "agregar registro" y estoy interesado en las mejores prácticas. Ate un objeto modelo vacío a los campos de texto y las propiedades del objeto modelo se actualizan tan pronto como el usuario realiza la entrada.
Además, cambié la firma del open()método para devolver el objeto modelo después de que el diálogo lo elimine. Truncado:

public class AddRecordDialog extends Dialog {
    private MyItem item = new MyItem();

    ...

    public MyItem open() {
        createContents();
        shell.open();
        shell.layout();
        Display display = getParent().getDisplay();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
        return item;
    }
}

Sin embargo, si el usuario cancela su entrada (ya sea haciendo clic en el botón "Cancelar" o cerrando el cuadro de diálogo), esta forma de manejar el objeto resultante solo me da el objeto modelo con los atributos predeterminados del constructor predeterminado vacío sin parámetros.
Esto plantea la cuestión de la mejor práctica de cómo determinar qué acción ha tomado el usuario. Algunas soluciones en mi mente:

  • ¿Debería introducirse una bandera adicional? ¿Como un booleanvalor extra como inicializado como cancelClicked = falsey alterando la variable en el oyente de selección del botón cancelar?

  • ¿Se deben dar ID a los botones como en la MessageBoxclase e introducir una switchdeclaración en la clase que muestre el diálogo? Se debe agregar un método adicional para devolver un objeto modelo finalmente válido.

  • ¿Podría haber alguna otra forma de informar a la persona que llama el diálogo de la entrada cancelada?

Se podría pensar, oh, se preocupa por pequeñas cuestiones y problemas de programación no real, pero ya que esta es mi primera aplicación donde quiero adhieren estrictamente a MVC y las mejores prácticas en un entorno Java / SWT que hacer cuidado.

Gracias de antemano por leer esta pregunta relativamente larga;)

Respuesta 1

Estoy tratando de trabajar en un artículo (http://martinfowler.com/articles/mocksArentStubs.html) sobre la burla con pseudocódigo que estoy implementando, pero tengo problemas para encontrar una vez (y eq, .. .

Estoy usando Tomcat con archivos HTML, no jsp o cualquier otra cosa. Todos los archivos son estáticos (usan JQuery). Sin embargo, cuando un usuario quiere navegar desde mis URL, quiero verificar la autorización y no quiero ...

Estoy tratando de construir un applet que tome texto de entrada de la base de datos MYSQL y lo muestre en la pantalla. Obtengo la conexión a MySQL cuando ejecuto netbeans pero falla cuando ejecuto lo mismo en ...

Estoy trabajando en mensajería instantánea con Java 1.6. IM utiliza subprocesos múltiples: subproceso principal, recepción y ping. Para la comunicación TCP / IP utilicé SocketChannel. Y parece que hay un problema con la recepción ...