1

私は現在、行ヘッダーと列ヘッダー(これもJComponents)を備えたJScrollPane(JComponentを含む)を使用してSWINGフレームに取り組んでいます。マウスがJComponentまたはこれら2つのヘッダーのいずれかに置かれると、マウスホイールがスクロールを引き起こします。

私がやりたいのは、マウスが列ヘッダーの上にあるときにこのスクロールを無効にすることですが、直接的な方法も、JScrollPaneインスタンスでも、JComponentでも見つかりません。詳細については、これらのソースを確認しました。

それを行う方法があれば、事前に感謝します。

4

2 に答える 2

3

2段階のソリューションが必要だと思います。

  • コンポーネント全体のスクロールホイールを無効/有効にするには、でを使用setWheelScrollingEnabled()JScrollPaneます。

  • これを選択的に行うaddMouseListener()には、JScrollPaneで実行して、すべてのマウスの動き(入力と終了を含む)をキャッチし、ポインターがヘッダーにあることを確認します。これが変更されるたびに、スクロールをオンまたはオフに切り替えることができます。

于 2009-11-26T12:28:41.507 に答える
0

yourJTable.getTableHeader().setReorderingAllowed(false);

うまくいくはずです、試してみてください。

于 2013-09-11T04:38:02.990 に答える