我是 Swing 和 AWT 的初学者,我正在寻找使用 Netbeans 构建 GUI。我的 GUI 需要三个区域,我目前将其视为 JFrame 上的 JPanel。我需要一个“绘图”面板来监听鼠标输入并绘制 Java2D 形状。绘图面板将固定在左上角。其他两个区域是“属性”滚动窗格和“控制器”滚动窗格。控制器窗格将确定将通过按钮显示哪些绘制的元素,属性滚动窗格将显示有关在绘图窗格中单击的任何形状对象的详细信息(端点、颜色等)。
绘图区域的一个典型用例是,在绘图区域中的第一次单击将是形状的第一组坐标,即:一条线。该点击将被捕获为 point2d 对象。第二次单击将是第二个 point2D 对象,并且将在两者之间建立一条线。控制器区域将具有“圆形”“线”“椭圆”等按钮。根据单击的控制器按钮,仅在绘图区域中绘制该类型的形状。控制器和属性滚动窗格将不可移动,它们将被锁定并分别调整到 GUI 的底部和右侧。
作为初学者,我正在努力使用最好的组件。我一直在阅读 JDesktop 和 JInternalFrame,但似乎我并不真的需要这些。一个带有三个 JPanel 的简单 JFrame 就足够了,对吧?更具体地说,我认为我需要一个顶级 JFrame,一个用于绘图框的 JPanel 和两个 JScrollPanel。我需要绘图窗格上的鼠标侦听器来捕获每次单击的坐标,以及控制窗格中每个按钮的侦听器。我可以在 JPanel 上放置一个鼠标侦听器,并为其绘制 Java2D 形状,还是需要在 JPanel 内使用不同的(更好的?)容器来进行绘图?