首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSpinner源?

JSpinner源?
EN

Stack Overflow用户
提问于 2013-03-20 06:50:01
回答 2查看 100关注 0票数 0

我有一个类,其中有两个JSpinner对象,x和y。我有一个添加到这两个对象中的更改侦听器。谁能告诉我如何实现我的更改侦听器,以便侦听器能够区分两个对象之间的区别。例如伪码:

代码语言:javascript
复制
if(source equals x)
    do this
else if(source equals y)
    do that

谢谢你们,

EN

回答 2

Stack Overflow用户

发布于 2013-03-20 06:55:40

您可以简单地使用匿名类来实现每个微调控制项的侦听器

例如,如果您想要将监听器更改为x,您可以这样做:

代码语言:javascript
复制
x.addChangeListener(new ChangeListener()
{
   public void stateChanged(ChangeEvent e)
   {
   }
});

对你来说也是一样

票数 3
EN

Stack Overflow用户

发布于 2013-03-20 07:16:42

更谨慎的做法(正如Ali所指出的,+1)是在可能的情况下为每个控件使用一个监听器。它隔离了事件/动作,使其更易于阅读和理解……

如果您看不到自己在使用它,那么每个EventObject都有一个getSource方法,它是对引发事件的控件的引用……

代码语言:javascript
复制
public void stateChanged(ChangeEvent e)
{
    if (e.getSource() == xControl) {
        // xControl updated
    } else if (e.getSource() == yControl) {
        // yControl updated
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15512034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档