سؤال
لذلك أنا غير مرهق قليلاً في روابط المفاتيح الافتراضية JSLIDER للانزلاقات العمودية.
- الصفحة الرئيسية: يذهب إلى الأسفل (لماذا لا القمة؟)
- نهاية: يذهب إلى الأعلى (لماذا لا القاع؟)
- pageup/pagedown: الاتجاه جيد ، ولكن يرتفع بمقدار k الذي لا يمكنني التحكم فيه
- مفاتيح الأسهم لأعلى/لأسفل: الاتجاه جيدًا ، ولكن يرتفع بمقدار 1 ، ولدي شريط منزلق عالي الحدود (من 0 إلى 65535) والذي أرغب في الحصول على سيطرة أكثر سهولة.
هل هناك طريقة لتخصيص هذا السلوك؟
المحلول
يمكنك الوصول إلى keybindings عبر getInputMap
و getActionMap
أساليب. على سبيل المثال ، لتبديل روابط مفاتيح المنزل/النهاية (اجعل المنزل انتقل إلى الأعلى ، وانتقل إلى أسفل):
InputMap im = yourSlider.getInputMap();
im.put(KeyStroke.getKeyStroke("HOME"), "maxScroll");
im.put(KeyStroke.getKeyStroke("END"), "minScroll");
هنا برنامج تعليمي على روابط المفاتيح.
نصائح أخرى
لا توجد طريقة واضحة بالنسبة للقوائم. ولكن ربما يمكنك استخدام الإجراءات لغرضك: http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html
لا تنتمي إلى StackOverflow