Java Swing在不同选项卡中重用按钮

时间:2014-11-11 18:28:57

标签: java swing tabs jbutton jtabbedpane

我有一个关于Swing的简单问题。好吧,所以让我说我有一个带有两个标签的应用程序,我可以从一个标签切换到另一个标签。我希望在这些标签中有字段和按钮,例如

TAB 1

Tab1;
field1
field2 
AddButton

TAB 2

Tab2;
field1
field2
AddButton

我已经actionListeners附加了这些按钮,因为我要扩展应用程序并制作另一个标签,我想多次使用AddButton。但是,我希望AddButton实现不同的逻辑,具体取决于选项卡。例如,如果我按下它并且我在tab1上,则逻辑可能是"INSERT field1 INTO TAB1.TABLE",如果我在标签2上按下它 - "INSERT FIELD1 INTO TAB2.TABLE"等。

我的问题是 - 是否有一种简单的方法可以根据按下的标签重复使用按钮,或者我应该为每个新标签创建一个新按钮(这对我来说似乎有很多意大利面条代码......)。或者也许我应该创建一个通用的Buttons界面,然后用每个菜单的按钮实现它?

1 个答案:

答案 0 :(得分:2)

任何挥杆组件可能只放在一个容器中。所以你不能在不同的标签上有相同的按钮。但是你可以有很少的相同类的实例,例如为每个选项卡创建自己的按钮不是意大利面条代码。每个按钮响应自己的动作。当然,如果动作与执行的sql查询不同,更好的方法是将常用方法封装到超类并在子类中指定查询或通过构造函数参数。