我有时会看到这样的代码:
new myJFrame().setVisible(true);
我不完全知道它是如何工作的,但是它实际上创建了一个
myJFrame
并将其设置为可见,以替代在其构造函数上将其设置为可见的方法。我想知道的是,是否有办法在JMenuItem或JButton上执行此操作,以自动为它分配一个ActionListener,而不必先明确声明它,如:
myJMenu.add(new JMenuItem("Item").addActionListener(myActionListener));
据我所试,这是行不通的。
我并不需要工作,我想知道是否有可能,因为这可以节省一些时间。
提前致谢。
最佳答案
它称为method chaining,简单地说,一个类是否支持它,取决于它的编写方式。
完成的方法很简单:
public class Bar {
private Set<Foo> foos;
public Bar addFoo( Foo foo ) {
this.foos.add( foo );
return this;
}
}
从中您还可以看到为什么无法链接不是以这种方式编写的方法。