Java表arraylist修改

Java表arraylist修改,java,swing,row,edit,Java,Swing,Row,Edit,基本上,这是一项管理属性的任务,我正在做一个比需要的复杂得多的解决方案。这只是我挣扎的最后一点 让您了解我们的产品: 属性(超类) PropertiesToLet(扩展属性) PropertiesToSell(扩展属性) EstateAgent(用于管理属性的GUI) 因此,我正在努力解决的部分基本上是EstateAgent类 到目前为止我写的是: 这大概有500行-但我需要理论部分的帮助,而不是编程部分-因为我不想让你做我的课程-我只需要解决方法如何实现这一点 我正在努力解决的问题来自:

基本上,这是一项管理属性的任务,我正在做一个比需要的复杂得多的解决方案。这只是我挣扎的最后一点

让您了解我们的产品:

  • 属性(超类)
  • PropertiesToLet(扩展属性)
  • PropertiesToSell(扩展属性)
  • EstateAgent(用于管理属性的GUI)
因此,我正在努力解决的部分基本上是EstateAgent类

到目前为止我写的是:

这大概有500行-但我需要理论部分的帮助,而不是编程部分-因为我不想让你做我的课程-我只需要解决方法如何实现这一点

我正在努力解决的问题来自: 55至113

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

插入行和显示表是很好的,它的工作方式应该是这样的。所以代码有问题。我为代码结构道歉-但我们在提交方面受到限制-因此我们不能提交超过4个文件-这些文件显然是命名类-因此我不能将任何更多的类或文件扩展到项目中

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

我有一行代表一个属性。它向我显示了arrayList中的位置以及我能得到的所有值

所以现在还有一些可能性

  • 从PropertyToLet中添加和删除租户
  • 根据租户,您可以收取租金并支付租金,然后查看还剩多少租金
  • 从PropertyToSell中添加和删除买家(如果有买家或没有买家,则已售出的将发生变化)
因此,基本上有几种方法可以从这里继续下去。例如,可能是这样的行为:

  • 右键单击该物业会打开一个上下文菜单,鼠标在其中,我可以选择其他选项,例如:删除租户、添加租户、收取租金、显示所欠租金、添加买家、删除买家,当然这取决于该物业的类型

  • 双击一行=>编辑属性(查看此屏幕截图)

  • 它显示了一个我用来添加属性的窗口——我可以添加字段中的所有值,该按钮更改为“更新属性”
这是一个解决方案,另一个是: -编辑行的单元格=>更改属性的值(他们将检查对象,看看是否真的更改了,而不仅仅是行值)

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

下面是我的问题:

此外,我还需要外界的意见,在这个非常有限的任务中,什么更容易、更快地实现。打开现有的“添加”窗口并将其更改为“编辑”窗口的方法-我不希望有多余的代码! 或者通过编辑单元格来更改值,从而更改arraylist中的值

我需要一些方法上的帮助,什么更容易,什么更好

我真的很感激这里的任何帮助

我期待着看到一些答案

编辑
我完成了弹出菜单谢谢你的帮助。我也编辑了这个问题。

自从jdk5以来,建议将JPopupMenu附加到组件的方法是

   component.setComponentPopupMenu(menu)
当用户手势(鼠标或键盘)被解释为弹出触发器时,会自动显示此弹出窗口,这在OSs中可能有所不同


至于选择右边的一行(弹出式触发器)mouseEvent:在Swing中默认情况下不会这样做,但现在似乎已经成为(vista上的)本地应用程序的标准—可以说是一个但在Swing中。自愿报告,任何人;-)

你在右键点击打开菜单时有问题吗?或者一旦你有了菜单怎么办?好的,基本上-哪个解决方案更好,完成这个解决方案的步骤是什么。我也会很感激一些我需要寻找的关键词我的意思是:-行事件侦听器上的表选择器->检查是否使用鼠标右键单击->打开菜单->将id作为参数->调用要使用参数调用的方法->进入数组列表并执行此操作和该操作。我在寻找这样的答案。但是我无法评估哪种解决方案对于一类问题和没有冗余代码的问题是最好的——正如我所说的,我的大脑目前完全被阻塞了。下面是一个链接,可以让桌子听右键点击。它还显示了如何查找所选行。从那里你可以做你需要的事。我搜索了“jtable rightclick menu”ok,它可以帮助我使用上下文菜单,因为我可以调用弹出菜单-谢谢;有一个例子。