制作new ActionEvent
时,您需要提供id
的整数。文档说这是:
标识事件的整数。有关允许值的信息,请参阅
的类说明ActionEvent
ActionEvent的类描述说:
如果任何特定
id
实例的ActionEvent
参数不在ACTION_FIRST
到ACTION_LAST
的范围内,则会导致未指明的行为。
我的混淆伴随着ACTION_FIRST
和ACTION_LAST
的价值:
/**
* The first number in the range of ids used for action events.
*/
public static final int ACTION_FIRST = 1001;
/**
* The last number in the range of ids used for action events.
*/
public static final int ACTION_LAST = 1001;
如果id
必须始终为1001
,以免出现未指明的行为,那么为什么要求呢?
答案 0 :(得分:2)
ActionEvent
是AWTEvent
的子类,是id的所有者。 ActionEvent
的构造函数只是将id传递给super的构造函数,然后super(...)检查它是否为以下之一:
所以,ActionEvent
想要确保super只从他那里获得ActionEvent.ACTION_PERFORMED
,其中ACTION_PERFORMED是一个设置为ACTION_FIRST的常量。)