Tengo un JCheckBox
que no debe ser revisado por el usuario cuando otro campo está vacío.¿La mejor manera de implementar la denegación de un cambio de valor por parte del usuario en Swing?
Así que ahora quiero tener un mensaje emergente de error y luego reiniciar la casilla (he considerado deshabilitar la casilla de verificación, pero la conexión al otro campo no es obvia, y un texto de información sobre herramientas IMO no es suficientemente visible).
¿Cuál es la forma correcta de hacerlo en Swing? A través de un PropertyVetoException
? ¿Dónde lo tiro y dónde lo atrapo? Mi primera idea (probablemente fea) sería agregar un ChangeListener
que a su vez muestra la ventana emergente y restablece el valor.
Editar: La pregunta es sobre Nikki (por debajo de captura de pantalla), una aplicación que estoy desarrollando, que geoetiqueta imágenes y los exporta a formato KMZ de Google Earth. La casilla de verificación se usa para seleccionar las imágenes para incluir en la exportación. Pero esto requiere que las imágenes se rompan primero (lo que a su vez requiere una marca de tiempo o manual). No creo que este requisito pueda hacerse obvio a través del diseño de la interfaz de usuario.
alt text http://www.brazzy.de/nikki/screenshot_nikki.png
Parece que es un mal diseño de IU si la conexión entre los dos elementos de formulario no es obvia. Si la disponibilidad de uno depende directamente del otro, ¿por qué no están uno al lado del otro? –
@Conspicuous Compiler: ver edición; No creo que esto sea realmente posible; incluso si estaban uno al lado del otro, el requisito no es obvio –