mouseEvent и keyEvent имеют методы getButton() и getKeyCode() которые оба возвращают целое число , которое соответствует константе соответствующей кнопки (например, Mouse2). Я пишу входной класс и хотел бы знать, перекрываются ли какие-либо их целые числа друг с другом;

Т.е.

getKeyCode() для "C" возвращает 3

getButton() для "mouse3" также возвращает 3

0
Meta 24 Фев 2016 в 22:25

2 ответа

Лучший ответ

Они представляют собой различные наборы констант в разных классах, поэтому вполне вероятно, что одни и те же значения появляются в обоих. Вы можете увидеть значения самостоятельно, декомпилировав эти классы в своей любимой среде IDE.

В любом случае вам НЕ следует писать код, который зависит от того, совпадают ли их значения или нет .

В javadoc нет контракта для фактического значения, и смысл наличия констант в том, что вам не следует беспокоиться о базовом значении. Если вы полагаетесь на реальную ценность, вы делаете что-то не так.

1
kgautron 24 Фев 2016 в 19:44

Да, есть некоторые совпадения.

Как показано здесь, BUTTON1 из MouseEvent и KEY_LOCATION_STANDARD из KeyEvent оба 1.

1
Brendan 24 Фев 2016 в 19:48