Java表arraylist修改

时间:2011-05-02 19:52:16

标签: java swing row edit

基本上,管理属性是一项任务,而且我所做的解决方案比需要的要复杂得多。这只是我奋斗的最后一点。

让您了解我们的所作所为:

  • 属性(超类)
  • PropertiesToLet(扩展属性)
  • PropertiesToSell(扩展属性)
  • EstateAgent(用于管理属性的GUI)

所以我正在努力的部分基本上是EstateAgent类。

到目前为止我写的是:http://pastebin.com/0qieM67j

大约有500行 - 但我需要理论部分的帮助而不是编程部分 - 因为我不想让你做我的课程 - 我只需要解决方法如何处理它。

我正在努力的路线来自: 55至113

它是关于我创建并在其中插入行的表。每行代表一个属性。它可以是propertyToLet或propertyToSell对象。这些属性来自我的ArrayList<Property>属性。

插入行并显示表格很好,它按照应有的方式工作。所以代码有问题。我为代码结构道歉 - 但我们在提交中受限 - 所以我们不能提交超过4个文件,那些文件显然是命名类 - 所以我不能再将任何类或文件扩展到项目中。

所以我现在要做的是:编辑一个属性。

我有代表属性的行。它向我展示了arrayList中的位置以及我可以得到的所有值。

所以现在还有更多的可能性。:

  • 从PropertyToLet添加和删除租户
  • 以租客为基础,您可以领取租金并支付租金,并查看需要支付多少租金。
  • 从PropertyToSell添加和删除购买者(如果有购买者,销售商将随之改变)

所以基本上有几种方法可以从这里继续。例如,它可能是这样的行为:

  • 右键单击该属性打开鼠标所在的上下文菜单,我可以选择其他选项,例如:删除租户,添加租户,收取租金,显示租金,添加购买者,删除购买者--- - 当然取决于它是什么类型的财产。

  • 双击行=&gt;编辑属性(看一下这个截图)

enter image description here

  • 它显示了一个我用来添加属性的窗口 - 我可以在字段中添加所有值,并且该按钮更改为“Update Property”

这将是另一个解决方案: - 编辑行的单元格=&gt;更改属性的值(它们将检查对象并查看是否真的发生了变化,而不仅仅是行值)

这是我对如何注入将功能引入应用程序的最后步骤的想法。

以下是我的问题:

而且我需要一个外界的意见,在这个非常有限的任务中实现起来更容易,更快。打开现有添加窗口并将其更改为编辑窗口的方式 - 我不希望有冗余代码! 或者通过编辑单元格来更改值,以便arraylist中的值更改。

我需要一些帮助,方法更简单,更好。

我非常感谢这里的任何帮助!

我期待看到一些答案。

修改 我完成了弹出菜单感谢您的帮助。我编辑了这个问题。

1 个答案:

答案 0 :(得分:2)

从jdk5开始,将JPopupMenu附加到组件的推荐方法是

   component.setComponentPopupMenu(menu)

当用户手势(鼠标或键盘)被解释为弹出触发器时,会自动显示此弹出窗口 - 这可能因操作系统而异。

至于选择右边的行(弹出触发器)mouseEvent:默认情况下它并没有在Swing中完成,但现在似乎是(近似)原生应用程序(在Vista上)的常态 - 可以说是在Swing中。志愿者报告,任何人;-)