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?
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