我有一个关于 Swing 的简单问题。好吧,假设我有一个带有两个选项卡的应用程序,我可以从一个选项卡切换到另一个选项卡。例如,我想在这些选项卡中包含字段和按钮
选项卡 1
Tab1;
field1
field2
AddButton
选项卡 2
Tab2;
field1
field2
AddButton
我已将 actionListeners
附加到这些按钮,并且由于我要扩展应用程序并创建另一个选项卡,因此我想多次使用 AddButton
。但是,我希望 AddButton 实现不同的逻辑,具体取决于选项卡。例如,如果我按下它并且我在 tab1
上,则逻辑可能是 “INSERT field1 INTO TAB1.TABLE”
,如果我在选项卡 2 上并按下它- “将字段1插入TAB2.TABLE”
等。
我的问题是 - 是否有一种简单的方法可以根据按下的选项卡重用按钮,或者我应该为每个新选项卡创建一个新按钮(对我来说这似乎是很多意大利面条代码......)。或者也许我应该制作一个通用的按钮界面,然后使用每个菜单的按钮来实现它?
最佳答案
任何 Swing 组件都只能放置在一个容器中。所以你不能在不同的选项卡上有相同的按钮。但是你可以有几个相同类的实例,例如为每个选项卡创建自己的按钮不是意大利面条代码。每个按钮都会响应自己的操作。当然,如果操作与执行的 SQL 查询不同,更好的方法是将常用方法封装到父类(super class)中,并在子类中或通过构造函数参数指定查询。
关于Java Swing 在不同选项卡中重用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871874/