場末

プログラミング素人の雑記

レイアウトを弄ってたらボタンが反応しなくなった話

Java,JavaFX

IDE : NetBeans,SceanBuilder

 

三目並べを作っていてレイアウトとかメソッド名とかを見直してたら一部のボタンが押せなくなったのでメモ

 

作っていた三目並べはこのようなデザイン

何気にデータのセーブ&ロード機能もある。まぁ絶対にコンピューターの手に勝てないようになってるんだけど

f:id:moyashiZZ:20180911231513p:plain

んで今回押せなくなったのが上のボタン4つ。主要な機能全部死んでるやんけ!!!!!

アクションが無いとかじゃないとかでは無くそもそも押せないっす、何故

ちなみにセーブデータを呼び出す下のボタン2つはちゃんと動く、なんやそれ

 

 

結論からいうとVboxのHeightとWidthがボタンと被っていたためにボタンが押せなくなっていた

f:id:moyashiZZ:20180911233518p:plain

 OnActionのメソッドは正しく登録されているのに正しく動かなかったのはここが被っていたから・・・えぇ・・・?

 

レイアウト修正前の動作確認はしてたのでレイアウトを見直してた時に被らせてしまったらしい

fxIDとかメソッドとか見直してても全然問題が無いのでかなり時間がかかった・・・

 

f:id:moyashiZZ:20180911235716p:plain

修正してこんな感じに。

被ってない。動く。

 

んで下のボタンだけなんで動いたの?的な話なんだけど

f:id:moyashiZZ:20180911234855p:plain

件の被ってるVBoxが親で格納されている下のボタン2つは影響を受けなかったんですなぁ、ほーーーん

 

原因を色々調べて公式のドキュメントを読んでるんだけどどういう理屈でボタンが押せないのか?というのはまだ分かってないので分かったらその内追記する