Java 我能否以更优雅的方式对一个组件执行多个操作?

Java 我能否以更优雅的方式对一个组件执行多个操作?,java,Java,我注意到我的Android项目中生成的代码使用以下技术将多个操作应用到Snackbar: fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Send message", Snackbar.LENGTH_LONG)

我注意到我的Android项目中生成的代码使用以下技术将多个操作应用到Snackbar:

    fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Send message", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
     });
这在常规java swing项目上似乎不起作用:

    for(int i = 0; i < 6; i++)
       ((JButton) toolBar.getComponent(i)).setText(null)
                                          .setIcon(new ImageIcon(iconPath[i]));
我的解决方案是简单地执行以下操作:

    for(int i = 0; i < 6; i++){
        ((JButton) toolBar.getComponent(i)).setText(null);
        ((JButton) toolBar.getComponent(i)).setIcon(new ImageIcon(iconPath[i]));
    }
for(int i=0;i<6;i++){
((JButton)toolBar.getComponent(i)).setText(null);
((JButton)toolBar.getComponent(i)).setIcon(新图像图标(iconPath[i]);
}

我的问题是:我是否遗漏了一些东西,或者它是否只在Android项目中起作用?在这种情况下,为什么?

这与Android无关。它是关于方法的返回类型的。在您的示例中,Snackbar使用的技术称为


因此,这是由实现您使用的类的其他人做出的设计决策。这不是语言功能或类似功能。

好吧,因为我使用的是JButton类,所以我不能使用方法链接,必须依赖我上面发布的解决方案?简单明了:是的。:)
    for(int i = 0; i < 6; i++){
        ((JButton) toolBar.getComponent(i)).setText(null);
        ((JButton) toolBar.getComponent(i)).setIcon(new ImageIcon(iconPath[i]));
    }