簡単なミュージックプレーヤーをさらにいじってみた

JavaFX Advent Calendar 2017の18日目です。15日目に改造したミュージックプレーヤーをさらに強化してみました。

強化ポイント1 再生・一時停止・曲送りボタン

再生ボタンを再生・一時停止のトグルボタンに変えて、iTunesと同じような感じに仕上げました。ボタンはCSSiTunes風のデザインに変えてみました。再生が終わると再生・一時停止ボタンは元に戻ります。

f:id:planet-az:20171215231832p:plain

強化ポイント2 マウスとキーボードのイベント

ListViewの曲選択に、マウスとキーボードを使えるようにしました。以前も開始前にマウスで曲選択できるようにはなっていたのですが、今回のは再生中に違う曲を選ぶと、再生中の曲を止めて新しく選んだ曲を再生するようにしました。曲送りボタンを押下したときも同じ動作です。マウスはOnMouseClicked、キーボードはOnKeyReleasedをそれぞれ処理しています。最初はOnKeyReleasedとOnKeyPressedとOnKeyTypedの違いが判らなくていろいろ実験してみたのですが、矢印キーを押して離す一連の動作でOnKeyPressedは何度も呼ばれることがある一方で、OnKeyReleasedは1回しか呼ばれないため、押す・離すを厳密に区別しないのであればOnKeyReleasedだけを呼べばいいという結論になりました。なお、OnKeyTypedは矢印キーには反応しませんでした。

その他

本筋とは関係ありませんが、アイコンを独自にしてみました。

できなかったこと

連続再生・ランダム再生・リピート再生はちょっと難しそうでした。今回ここまでできたので、時間をかければできるとは思いますが。

最後に、完成したものをGitHubに上げておきます。

github.com