Kamis, 15 Desember 2011

Lanjutan Event dan Listener (Java). Penanganan Keyboard


Membuat API yang bisa dijalankan di berbagai platform untuk mengakses keyboard bukan sesuatu yang mudah. Bahkan untuk platform yang sama tetapi dengan versi sistem operasi atau kedaerahan (locale) yang berbeda, karakter bisa dimasukkan dengan cara yang berbeda.

Metode input, atau sering juga disebut IM (input method) atau IME (input method engine), adalah mesin pengolah karakter yang disediakan oleh setiap sistem operasi. Tugasnya untuk mengubah urutan tombol keyboard menjadi karakter yang bisa dibaca sesuai dengan konfigurasi locale usernya. Misalnya, pada locale Jepang, tombol yang dimasukkan diproses oleh IME sehingga user bisa memasukkan karakter Kanji.

Untungnya, kebanyakan kontrol (widget yang bisa berinteraksi dengan user) bisa menangani keyboard tanpa perlu campur tangan aplikasi. Misalnya, ketika user memasukkan karakter Kanji pada kontrol teks, kontrol tersebut akan mengolah karakter dan menampilkannya. Jika ada menu konteks, maka menu ini akan secara otomatis disediakan.

Ketika user menekan tombol pada mouse, maka event yang dihasilkan akan diberikan kepada widget yang ada dibawahnya. Apa yang terjadi ketika tombol keyboard di tekan? Komponen mana yang harus menangani event yang dihasilkan?

Ketika suatu tombol pada keyboard ditekan, tombol tersebut akan diberikan kepada subsistem berikut dalam urutan :

1. Sistem jendela
2. Akselerator untuk menu
3. Traversal
4. Kontrol fokus

Artinya setiap subsistem diberi kesempatan untuk bereaksi terhadap tombol keyboard, dalam urutan seperti di atas. Jika salah satu subsistem mampu menangani tombol tersebut, maka tombol ini tidak akan diteruskan ke subsistem berikutnya. Dalam hal ini kita sebut tombol tersebut telah digunakan.

Kita akan diskusikan setiap subsistem dari bawah ke atas, mulai dari kontrol fokus, karena konsep ini adalah konsep dasar yang diperlukan dalam pemrograman GUI.

Tidak ada komentar:

Posting Komentar