我正在为我的业务建立一个简单的POS。我拥有一家小餐馆,想让我的生活更轻松。我有一个扩展JPanel的类(主菜单),这个类有布局BorderLayout。菜单有一组带按钮的面板(NORTH),一个JList(WEST),另一个用于更改子菜单(EAST)的按钮(CENTER)面板,以及用于删除和/或修改列表中项目的另一个按钮(SOUTH)。
当我点击修改(南面板上的按钮)时,应出现另一个面板。此面板大部分与主菜单相同。它有一个北方菜单,一个西方列表等。不同的部分是北方按钮和南方按钮的动作。
我的问题是:
我总是对如何对待事件感到困惑。创建外部类并将侦听器传递给类或使用嵌套类(但有时我发现嵌套类太多)。
如果您需要我发布代码,请告诉我。有点长,这就是为什么我没有张贴它!
答案 0 :(得分:0)
这很大程度上是基于意见的,但无论如何都要进行......
我建议为不同的菜单创建子类,每个菜单都扩展一个定义公共元素的抽象类。将它们放在同一个包装中。
对于事件处理程序来说,这更棘手。有时偶数处理程序仅在一个地方使用,在这种情况下,匿名内部类(或Java 8中的lambda)是最好的方法。但是如果相同的处理程序可以用于不同的事件,那么请记住DRY原则,并使用单独的类。
答案 1 :(得分:-1)
您应该这样想,此时您需要的功能可能非常有限。但是在一年左右的时间里,你可能想要为它添加新的函数/类。
我要做的是:让自己变得更难一点,但为所需的所有面板制作不同的课程。从长远来看,它可以节省您查找如何添加内容的时间。