Pergunta

Portanto, estou um pouco confuso com as ligações de chave padrão do JSLider para controles deslizantes verticais.

  • Home: vai para o fundo (por que não o topo?)
  • Fim: vai para o topo (por que não o fundo?)
  • PAGEUP/PAGEDOWN: Direção boa, mas sobe com alguma quantidade K que eu não consigo controlar
  • Chaves de seta para cima/para baixo: Direção boa, mas sobe 1, e eu tenho um controle deslizante de alta granularidade (0 a 65535), com o qual gostaria de ter um controle um pouco mais intuitivo.

Existe uma maneira de personalizar esse comportamento?

Foi útil?

Solução

Você pode acessar as peças de chave através do getInputMap e getActionMap métodos. Por exemplo, para alternar as ligações de teclas domésticas/finais (faça a casa vá para o topo e termine, vá para a parte inferior):

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

Aqui está Um tutorial sobre as principais ligações.

Outras dicas

Não há uma maneira direta, pois para os menus. Mas você provavelmente pode usar ações para seu propósito: http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top