KeyEvents новая переменная KeyEvent?
Для жизни я не могу найти какую-либо помощь с этим в Интернете. Моя цель - написать функцию, которая происходит, когда удерживается Shift и щелкается мышью на приложении. Сейчас я просто сосредоточен на смене.
У меня есть этот класс:
public void keyPressed(KeyEvent e)
{
if (e.isShiftDown())
{
//Do Something
}
}
Затем в моем основном классе я догадался, что, по моему мнению, может сработать, и это не удалось.
KeyEvent e = new KeyEvent;
keyPressed(e);
С этой ошибкой:
KeyEvent cannot be resolved to a variable
Я видел примеры, которые имеют эту строку кода. Так что я застрял. Мои знания Java слишком ограничены, чтобы у меня были какие-либо идеи.
Любая помощь приветствуется.
1 ответ
Вы можете сосредоточиться только на щелчке, так как это определяющее событие. Shift - это клавиша-модификатор. Когда у тебя будет свой MouseEvent me, сделай me.isShiftDown()
http://docs.oracle.com/javase/6/docs/api/java/awt/event/InputEvent.html
Так что я думаю, это было бы что-то вроде
public void mousePressed(MouseEvent me) {
if (me.isShiftDown()) {
// Do the function
}
}
Предполагая, что у вас есть какой-то случайный объект, например кнопка, которая может регистрировать щелчки:
JButton button = new JButton("I'm a button!");
button.addMouseListener(new MouseListener() {
public void mousePressed(MouseEvent me) {
if (me.isShiftDown()) {
// Do the function
}
}
});
Теперь при каждом нажатии кнопки ваша программа будет автоматически проверять, нажата ли клавиша Shift, и, если да, выполнять вашу функцию.