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

标签 java swing tabs jbutton jtabbedpane

我有一个关于 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/

相关文章:

java - 在Windows命令行上运行jar文件中子包中的类

java - 使用 Java 通过 API 写入 Google Sheet

java - Synthetica JButton 边距

java - 在 JLabel 中刷新同一图像

css - Tab 宽度 CSS 属性

java - maven 找不到指定的路径

java - JAXB 解码

java - 有没有类似于Processing的Java绘图API?

objective-c - 创建自定义标签栏

jquery - 滑动标签查询