来自多个可操作对象的Java Swing依赖项
(在JavaSwing中)编程多个可操作对象之间的依赖关系的正确方法是什么
例如,假设我们有2个JButton对象和2个其他GUI对象(例如2个JLabel对象) 单击JButton1时,JLabel1应变为可见,并将其文本更改为“NewText1”,而JLabel2应变为不可见。 单击JButton2时,JLabel1应不可见,而JLabel2应可见,并将其文本更改为“NewText2”
我想出了几个解决方案,但没有一个我喜欢自己 (主要基于对JLabel对象进行子分类,以确保它们具有不同的ActionPerformed方法,然后将它们注册为JButtons的侦听器)。 但这根本不能扩展,因为对于每个依赖/侦听器对象(在本例中为JLabel),我最终创建了一个新类。 随着GUI对象的激增,所有这些类很快变得难以跟踪和管理。另一方面,我希望避免使用匿名类,因为我可能需要从其他代码段访问这些GUI元素
# 1 楼答案
我启用了文本,而不是使其可见或不可见。这样,文本就不会在JPanel中移动
我写了两个动作监听器,每个按钮一个
如果您有六个jbutton和六个jlabel,则必须编写六个动作侦听器。您将为每个JButton编写一个动作侦听器
我本来会让action listeners成为匿名类,但既然你说你不想这样,我就让它们成为独立的内部类
下面是生成GUI的代码