ボタンに勝手にフォーカスが当たって困ります

Node.focusTraversable

javafx.scene.control.Buttonでは、デスクトップモードにおいて、 TABキー(及びShift+TABキー)でフォーカスの移動ができます。 ボタンはフォーカスが当たると外枠の色が変わり、カレントであることを示します。 これがどうも変なタイミングで、意図しないボタンに勝手に当たって困ったことがありました。

NodeのfocusTraversable:Booleanをfalseにすれば、このサービスは無効になります。

例:

//Font
Button {
  translateX: buttonX + (buttonW + 5) * 2,
  translateY: buttonY height: buttonH  width: buttonW
  text: "Font"
  focusTraversable:false //勝手にFocus(青枠)が当たるのを抑止しています
  action: function() {
    if(fontDialog.visible){
      fontDialog.close();
    }else{
      fontDialog.open();
    }
  }
}

また、javafx.scene.control.Buttonを使わずに、もっとクールでリッチなボタンを自作する というポジティブな解決策もあります。


カウンター

Home