Pergunta

Eu estou trabalhando atualmente em um quadro de balanço com um JScrollPane (incluindo um JComponent), com um cabeçalho de linha e uma coluna de cabeçalho (que também são JComponents). Quando o rato é através da JComponent ou um destes 2 cabeçalhos, provoca roda rato rolagem.

O que eu quero fazer é Desativar essa rolagem quando o mouse está sobre o cabeçalho da coluna , mas não consigo encontrar uma maneira direta nem em instância JScrollPane, nem em JComponent. Para obter informações, eu tinha um olhar para essas fontes:

Agradecemos antecipadamente se você tem uma maneira de fazer isso.

Foi útil?

Solução

Eu acho que você precisa de uma solução de 2 etapas.

  • Para ativar / desativar a roda de rolagem para todo o componente, o uso setWheelScrollingEnabled() na JScrollPane.

  • Para fazer isso seletiva, utilize o addMouseListener() no JScrollPane para pegar todos os movimentos do mouse (incluindo entrada e saída) para que você saiba quando o ponteiro está no cabeçalho. Sempre que isso muda, você pode transformar a rolagem ligado ou desligado.

Outras dicas

yourJTable.getTableHeader().setReorderingAllowed(false);

deve funcionar, experimentá-lo.

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