我是一个使用Swing和AWT的初学者,我希望使用Netbeans构建一个GUI。我的图形用户界面需要三个区域,我现在认为它们是JFrame上的JPanels。我需要一个“绘图”面板,将听取鼠标输入和绘制Java2D形状。绘图面板将锚定在左上角。另外两个区域是“属性”滚动窗格和“控制器”滚动窗格。控制器窗格将确定将通过按钮显示哪些绘制的元素,属性滚动窗格将显示有关在绘图窗格中单击的任何形状对象(端点、颜色等)的详细信息。
绘图区域的一个典型用例是,绘图区域中的第一次单击将是形状的第一组坐标,即:一条线。该单击将被捕获为point2d对象。第二次单击将是第二个point2D对象,并在这两个对象之间建立一条线。控制器区域将有像"Circle“、"Line”、"Elipse“等按钮。根据所单击的控制器按钮,绘图区域中将只绘制该类型的形状。控制器和属性滚动窗格将不能移动,它们将分别锁定在GUI的底部和右侧并可调整大小。
作为一个初学者,我正在努力寻找最好的组件。我一直在研究JDesktop和JInternalFrame,但看起来我并不真的需要它们。一个有三个JPanels的简单JFrame应该就足够了,对吧?更具体地说,我认为我需要一个顶级JFrame,它有一个用于绘图框架的JPanel和两个JScrollPanels。我需要一个鼠标监听器在绘图窗格中捕获坐标的每一次点击,并监听每个按钮在控制窗格中。我可以把鼠标监听器放在JPanel上,然后给它画Java2D形状吗?或者我需要一个不同的(更好的?)JPanel中的容器来完成我的绘图?
发布于 2012-06-13 02:52:42
发布于 2012-06-13 02:44:53
JInternalFrames通常有标题栏,离开框等。example here似乎不适合你的模型。(除非您希望用户能够将面板移动到他们想要的任何位置,或者让它们离开?)因此,我建议使用更简单的带有JPanels的JFrame。
发布于 2012-06-13 03:00:25
考虑使用两个JSplitPanes来分隔绘图区域、控制区域和属性区域。JSplitPane允许用户通过鼠标单击并拖动分割线来调整区域大小。

(对顶级组件使用JFrame。)
作为一个初学者,如果你不需要调整大小和滚动,如果你制作了一个不调整大小或滚动的应用程序,你会更容易。
https://stackoverflow.com/questions/11002687
复制相似问题