Pregunta

Estoy buscando un editor o biblioteca de Java GUI con la siguiente propiedad exótica: la GUI se puede manipular en tiempo de ejecución. Es decir, un marco de ejecución puede incluir controles especiales, por ejemplo, clic derecho, que permitan a los usuarios agregar botones y otros widgets.

Alternativamente, puedo usar un editor de GUI que puede interactuar con un programa Java en ejecución. El programa dice "Agregue un botón" y el editor le muestra al usuario una paleta con botones. El usuario agrega un botón y lo presiona, y el programa recibe un evento "Botón presionado".

¿Existe tal cosa que se puede usar fuera de lugar, sin escribirlo desde cero?

¿Fue útil?

Solución

Cualquier biblioteca de Javabean compatible Tiempo de diseño semántica. En pocas palabras, se entiende que un frijol (componente) se ejecuta en un contenedor. En el tiempo de diseño, ese contenedor es el editor 'lienzo' y en tiempo de ejecución, la raíz de la jerarquía de contenedores (GUI). Se espera que el autor de The Bean consulte esta bandera estatal y actúe adecuadamente, por ejemplo, cambie las fronteras en el tiempo de diseño para incluir 'mangos' para arrastrar por tamaño de tamaño, etc. y, naturalmente, el componente principal (que se supone que es un lienzo de diseño. ) también se espera que respete los cambios de diseño, por ejemplo, Modifique el diseño para manejar el componente redimensionado.

Dicho esto, no creo que ninguna de las ofertas actuales le permita simplemente cambiar entre el tiempo de diseño y el tiempo de ejecución en Whim en su aplicación.

Efectivamente, deberá (a) elegir una biblioteca y (b) agrupar la maquinaria necesaria para admitir Designtime con su aplicación en ejecución, y (c) en efecto disfrazar una superficie de diseño (lienzo) como su GUI de tiempo de ejecución. Por supuesto, solo necesitará admitir las operaciones de diseño que le interesa, pero en pocas palabras, está escribiendo un editor de GUI.

¿Cuál es el beneficio de este enfoque? Bueno, estás reutilizando "componentes" y principalmente necesitas piratear el contenedor.

Si tuviera que hacer algo como esto, vería seriamente NetBeans, Tenga en cuenta esta cuestión, y tómalo desde allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top