Frage

Zur Zeit arbeite ich an einem Schwenkrahmen mit einer JScrollPane (einschließlich einem JComponent) mit einem Zeilenkopf und der Spaltenkopf (die auch JComponents sind). Wenn die Maus über das JComponent oder eines dieser 2-Header ist, Scrollen provoziert Mausrad.

Was ich tun möchte, ist zu deaktivieren Sie diese Scrollen, wenn die Maus über den Spaltenkopf ist , aber ich kann eine direkte Art und Weise noch in JScrollPane Beispiel noch in JComponent nicht finden. Für Informationen, hatte ich einen Blick auf diesen Quellen:

Vielen Dank im Voraus, wenn Sie eine Möglichkeit haben, das zu tun.

War es hilfreich?

Lösung

Ich glaube, Sie brauchen eine 2-Stufen-Lösung.

  • So deaktivieren / aktivieren Sie das Scroll-Rad für die gesamte Komponente, die Verwendung setWheelScrollingEnabled() auf dem JScrollPane.

  • diese selektiv zu tun, tun addMouseListener() auf der JScrollPane alle Mausbewegungen zu fangen (einschließlich Ein- und Ausgänge), damit Sie wissen, wenn der Zeiger im Header ist. Jedes Mal, wenn sich dies ändert, können Sie drehen Scrollen ein- oder ausschalten.

Andere Tipps

yourJTable.getTableHeader().setReorderingAllowed(false);

sollte funktionieren, probieren Sie es aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top