6

JFrameを使用して設定した透明な未装飾がありAWTUtilities.setWindowOpaque(this, false)ます。にJFrameは、スクロールペインがあります。Windowsで完全に動作します。Mac では、全体JFrameをドラッグできます。そのため、スクロールバー上でマウスをクリックしたままにしてスクロールペインをスクロールしようとすると、スクロールバーのつまみではなくフレーム全体が移動します。setBackground(new Color(0,0,0,0))の代わりにも使用しようとしましsetWindowOpaque()たが、同じ問題があります。これを修正する方法についてのアイデアはありますか?

4

1 に答える 1

1

この同様のスレッドで提案されているように、次を試してください。

getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE);

これを使用することを選択すると、スクロールバーが使用可能になり、ウィンドウがドラッグされなくなります。ただし、 を追加し、 のような呼び出しを使用してメソッドMouseMotionListener内でウィンドウを移動しない限り、移動できないウィンドウで立ち往生する可能性があります。mouseDragged()frame.setLocation()

代わりに、スクロールバー自体をドラッグするのではなく、ユーザーにスクロールバーの矢印ボタンをクリックさせることができるかもしれません...しかし、それは私が今まで見た中で最もユーザーフレンドリーなアイデアではありません.

于 2012-07-23T07:27:29.147 に答える