ПредишенСледващото

Когато се работи с приложение, което осигурява графичен потребителски интерфейс, потребителят курорти, за да помогне не само върху мишки, но клавиатурата. Java Swing позволява разработчик на приложение за работа с различни събития, които се получават от клавиатурата в момента, когато потребителят натисне ключ. Нека да видим какво трябва да направя, за да бъде в състояние да слушате клавишни събития. За това ние считаме, KeyListener интерфейс на java.awt.event пакет.

Както е случаят с обработването на други събития, обработката на клавиатурата събитие е необходимо да се приложи специален интерфейс, след което добавете получената слушателя да се интересуват компонент. Интерфейс, който трябва да се прилагат за обработка на ключовете е споменато по-горе - това KeyListener на java.awt.event пакет. KeyListener има три основни метода: keyTyped, keyPressed и keyReleased.

Нека видим как можете да добавите слушател на компонент KeyListener в най-простия случай.

Това създава текстово поле JTextField. След това използвайте метод addKeyListener добавя анонимен слушател, която изпълнява всички методи KeyListener интерфейс.
Като общо правило, не винаги е необходимо да се приложат трите метода KeyListener интерфейс. Въпреки това, ако ние не направим изпълнява KeyListener, ние сме длъжни да направят изпълнението на всеки метод интерфейс, дори ако те са празни. За този случай, има специален абстрактен клас KeyAdapter, който съдържа трите метода, но с празни методи keyTyped, keyPressed и keyReleased. Тогава няма да има достатъчно на pronasledovannyj KeyAdapter и замени единствената задължителна метод.

Ако не е необходимо за изпълнение на всички KeyListener на методи, можете да го направите:

Всеки път, когато потребителят натисне клавиш от клавиатурата и системата призовава методи keyTyped, keyPressed keyReleased и, тъй като предава на KeyEvent обект параметър, който съдържа цялата необходима информация за събитието, което е настъпило. От тук можете да намерите ключа за кода, който е бил натиснат - метод getKeyCode. Те са били в капан в едни и същи клавиши като Alt, Shift или Ctrl. Можете да проверите това, като се обадите методи съответно isAltDown, isShiftDown и isControlDown. KeyEvent клас съдържа набор от константи. Всяка постоянна съдържа кода на съответните бутони. Ето защо не е необходимо кодове на всички ключове. Достатъчно, за да използвате някои от константи. От имената на константите лесно можете да определите кои ключови тя отговаря. Например KeyEvent. VK_ENTER или KeyEvent.VK_F.

Струва си да се каже, че събитията от клавиатурата се генерират от системата само когато компонентът, че ние слушаме, да е на фокус.

Нека сега разгледаме случай на тест.

Keylistener - работа с клавиатура събития, Java люлка и други Java

Тук е налице обработка клавиши съставни JPanel. Като цяло JPanel по подразбиране не трябва да получават фокус, но можете да създадете такъв, ако наистина искате с помощта на setFocusable метод и преминават верни на този метод, като параметър.

Подкрепете проекта - споделете линка, благодаря!