java - 对于这个设计,哪个是更好的顶级容器,JFrame with Jpanels,或者 JDesktop with JInternalFrames

标签 java swing awt java-2d

我是 Swing 和 AWT 的初学者,我希望使用 Netbeans 构建 GUI。我的 GUI 需要三个区域,我目前将其视为 JFrame 上的 JPanel。我需要一个“绘图”面板来监听鼠标输入并绘制 Java2D 形状。绘图面板将固定在左上角。其他两个区域是“属性”滚动 Pane 和“ Controller ”滚动 Pane 。 Controller Pane 将确定哪些绘制元素将通过按钮显示,属性滚动 Pane 将显示有关在绘图 Pane 中单击的任何形状对象的详细信息(端点、颜色等)。

绘图区域的典型用例是绘图区域中的第一次单击将是形状的第一组坐标,即:一条线。该点击将被捕获为 point2d 对象。第二次单击将是第二个 point2D 对象,并且将在两者之间建立一条线。 Controller 区域将具有“圆”、“线”、“椭圆”等按钮。根据单击哪个 Controller 按钮,绘图区域中只会绘制该类型的形状。 Controller 和属性滚动 Pane 将不可移动,它们将被锁定并可分别调整到 GUI 的底部和右侧。

作为初学者,我一直在努力寻找最好的组件。我一直在阅读 JDesktop 和 JInternalFrame,但似乎我并不真的需要这些。一个带有三个 JPanel 的简单 JFrame 就足够了,对吧?更具体地说,我认为我需要一个顶级 JFrame,一个用于绘图框架的 JPanel 和两个 JScrollPanel。我需要绘图 Pane 上的鼠标监听器来捕获每次单击的坐标,并需要控制 Pane 中每个按钮的监听器。我可以在 JPanel 上放置一个鼠标监听器,并向其绘制 Java2D 形状,还是我需要在 JPanel 中使用不同的(更好的?)容器来进行绘制?

最佳答案

GraphPanel可能会给您一些构建此类应用程序的想法。 “它具有通过边连接的可移动、可调整大小的彩色节点。”

GraphPanel

关于java - 对于这个设计,哪个是更好的顶级容器,JFrame with Jpanels,或者 JDesktop with JInternalFrames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002687/

相关文章:

java - 有没有办法在 JTable 上添加行选择监听器?

java - 我的 ButtonListener Dial 程序出现错误

java - 将 KeyListener 添加到自定义对象

java - 尽管设置了必要的属性,列表项也不会保持选中状态

java - 在条形图中显示相同的值

java - 从 Java 实例化一个 Scala 类,并使用构造函数的默认参数

java - DropdownChoice 选择与模型值不同,在 ajax 更新时更改

java - 通过手绘撤消和移动功能

java - 当 JOptionPane.showMessageDialog 时停止全屏窗口最小化?

java - awt.TrayIcon 是否可以区分双击托盘图标和关闭气球消息?