GUI de Java para dibujar un diagrama interactivo, ampliable y ampliable

He intentado dibujar un diagrama en Swing con una gran cantidad (miles) de JLabels dentro de una gran cantidad de JPanels anidados, todos con diferentes diseños.

Hice zoom todo el diagrama, ampliando un paso, uso setPrefferedSize () en todos los componentes del diagrama.

También es interactivo, al hacer clic en uno de los JLabels, el programa se acerca a ese JLabel. Cada JLabel tiene una información sobre herramientas y cambia de color cuando se cierne sobre él.

El problema es que cuando el diagrama es demasiado grande, el zoom es demasiado lento. Hay un ciclo for que debe atravesar todos los JComponents en el diagrama y cambiar su tamaño preferido. Luego tengo que llamar a .revalidate () en el padre JComponents.

Entonces mis preguntas son:

  1. En lugar de usar los JPanels anidados con diferentes diseños para la estructura, ¿debería usar solo un JPanel con Layout nulo y usar setBounds () en todos los JLabels para posicionarlos y acercarlos? ¿Será más ligero para la computadora?

  2. ¿Debo usar otra GUI? Tiene que soportar lo siguiente:

    • Dibuje etiquetas rectangulares con información sobre herramientas, puede agregar un MouseListener.
    • Ampliable, puede escalar todo el diagrama
    • Puede dibujar texto en el diagrama.
    • Desplazable, puede agregar el diagrama a un JScrollPane (importante al hacer zoom)
Respuesta 1

Es mi primera vez publicando aquí. Estoy usando GUI en Java por primera vez mientras trabajo en la tarea. He comenzado a codificar gradualmente un menú de restaurante italiano. El siguiente código es ...

Intentando aplicar múltiples filtros basados ​​en la condición, el pseudocódigo es: si es una excepción de Tipo A, entonces arroje una Excepción de Tipo A si es TipoB y luego una Excepción de Tipo B, de lo contrario, Excepción de TipoC. No lo sé ...

Estoy intentando acceder a la página / manager de la instancia de Tomcat instalada por NetBeans 7.1.2. Cuando hago clic derecho en el nodo del árbol correspondiente para propiedades, obtengo esto: lo que parece sugerir que podría ...

Estoy tratando de eliminar objetos que están fuera del JPanel. Sin embargo, cuando hago eso me sale este error y mi programa se bloquea. Mi profesor me dijo que es porque dos hilos están accediendo a ...