2

そのため、垂直スライダーの JSlider のデフォルトのキー バインディングには少し不満があります。

  • ホーム: 一番下に移動します (なぜ一番上に行かないのですか?)
  • 終了: 上に移動します (なぜ下に行かないのですか?)
  • PageUp/PageDown: 方向は良好ですが、制御できない量 K だけ上がります
  • 上/下矢印キー: 方向は良好ですが、1 ずつ上がります。また、もう少し直感的に制御したい高粒度のスライダー (0 から 65535) があります。

この動作をカスタマイズする方法はありますか?

4

2 に答える 2

4

getInputMapおよびgetActionMapメソッドを介してキーバインドにアクセスできます。たとえば、ホーム/エンド キー バインドを切り替えるには (ホームを上に、エンドを下に移動させます):

InputMap im = yourSlider.getInputMap();
im.put(KeyStroke.getKeyStroke("HOME"), "maxScroll");
im.put(KeyStroke.getKeyStroke("END"), "minScroll");

キーバインディングのチュートリアルです。

于 2010-01-03T11:07:45.453 に答える
0

メニューに関しては、簡単な方法はありません。しかし、おそらくあなたの目的のためにアクションを使用することができます: http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html

于 2009-12-30T15:42:11.603 に答える