私は作成するすべてのJButtonでこの関数を呼び出していますが、うまくいきます。Java GUIのマウスカーソル
public void addcursor(JButton button)
{
button.getModel().addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
ButtonModel model=(ButtonModel) e.getSource();
if(model.isRollover())
setCursor(new Cursor(Cursor.HAND_CURSOR));
else
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
});
}
しかし、このコードは、私はJButtonの上を移動する場合にのみ機能します、と私は離れてボタンから移動するときに戻ってデフォルトにマウスカーソルを設定します。だから、別のクラス/関数に:
gui.getRootPane().setCursor(new Cursor(Cursor.WAIT_CURSOR));
gui.getRootPane().setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
これらの2つの機能を呼び出した後、最初の関数addcursor(JButtonのは)私はちょうど後、それがあった方法に戻ってボタンをgetModel設定したい、もう動作しません。カーソルをデフォルトに戻します。私はまた、crusorをデフォルトに設定した後にaddcursoor(JButton)関数を再呼び出ししようとしましたが、それでも機能しませんでした。ありがとうございました。
jbuttonにカーソルを直接設定できないのはなぜですか?なぜそのモデルを監視し、グローバルカーソルを変更するのですか?これにより、競合するカーソル設定の問題が発生する可能性があります。 – Mordechai
私はあなたが習得しようとしているものは不明だ – ControlAltDel