ホームページ >Java >&#&チュートリアル >カスタム カーソルを使用すると Java 待機カーソルが表示されないのはなぜですか?
Java 待機カーソル表示の問題
問題の概要
Java アプリケーションでは、待機カスタム カーソルのあるパネル上にマウスを置くと、カーソルが正しく表示されません。パネルがカーソルを変更しない場合、待機カーソルは期待どおりに表示されます。
分析
主な問題は、待機カーソルがマウスイベントが発生するコンポーネント。この場合、マウスがカスタム カーソルのあるパネル上にあると、待機カーソルがそのパネルに設定されるため、パネルのカーソルによって隠されます。
推奨される回避策
この問題を回避し、待機カーソルが正しく表示されるようにするには、待機状態をトリガーするコンポーネントを含むフレームのガラス枠に待機カーソルを設定することをお勧めします。ガラス板は、フレーム内の他のすべてのコンポーネントの上に位置する透明なレイヤーです。
実装
修正 SSCE:
次の変更された SSCE は、待機カーソルをglasspane:
public class BusyCursorTest extends javax.swing.JFrame { // ... private static void startWaitCursor(javax.swing.JFrame frame) { frame.getGlassPane().setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR)); frame.getGlassPane().addMouseListener(mouseAdapter); frame.getGlassPane().setVisible(true); } private static void stopWaitCursor(javax.swing.JFrame frame) { frame.getGlassPane().setCursor(originalCursor); frame.getGlassPane().removeMouseListener(mouseAdapter); frame.getGlassPane().setVisible(false); } // ... }
このアプローチの利点:
以上がカスタム カーソルを使用すると Java 待機カーソルが表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。