Que es un mejor contenedor de nivel superior para este diseño, JFrame con Jpanels o JDesktop con JInternalFrames

Soy un principiante con Swing y AWT, estoy buscando construir una GUI usando Netbeans. Mi GUI requiere tres áreas, que actualmente estoy considerando como JPanels en un JFrame. Necesito un panel de "Dibujo" que escuchará la entrada del mouse y dibujará formas Java2D. El panel de dibujo se anclará en la parte superior izquierda. Las otras dos áreas son un panel de desplazamiento "Propiedades" y un panel de desplazamiento "Controlador". El panel del controlador determinará qué elementos dibujados se mostrarán mediante los botones, y el panel de desplazamiento de propiedades mostrará detalles sobre cualquier objeto de forma en el que se haga clic en el panel de dibujo (puntos finales, color, etc.).

Un caso de uso típico para el área de dibujo es tal que el primer clic en el área de dibujo será el primer conjunto de coordenadas para una forma, IE: una línea. Ese clic será capturado como un objeto point2d. El segundo clic será el segundo objeto point2D, y se construirá una línea entre los dos. El área del controlador tendrá botones como "Círculo" "Línea" "Elipse", etc. Dependiendo de en qué botón del controlador se haga clic, solo se dibujarán formas de ese tipo en el área de dibujo. El controlador y los paneles de desplazamiento de propiedades no se podrán mover, se bloquearán y cambiarán de tamaño a los lados inferior y derecho de la GUI, respectivamente.

Como principiante, estoy luchando con los mejores componentes para usar. He estado leyendo sobre JDesktop y JInternalFrame, pero parece que realmente no necesito todo eso. Un simple JFrame con tres JPanels debería ser suficiente, ¿verdad? Más específicamente, creo que necesito un JFrame de nivel superior, con un JPanel para el marco de dibujo y dos JScrollPanels. Necesitaré un detector de ratón en el panel de dibujo para capturar las coordenadas de cada clic, y escuchas para cada botón en el panel de control. ¿Puedo poner un detector de mouse en un JPanel y dibujar formas Java2D en él, o necesitaré un contenedor diferente (¿mejor?) Dentro del JPanel para hacer mi dibujo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta