アイコン(または実際には画像)を表示するだけの JButton が必要です。ユーザーがクリックできるボタンであることを認識できるように、通常のボタンの境界線を使用するのが好きです。このボタンは高さを固定する必要がありますが、アイコンの縦横比に応じて幅のサイズを変更します。
- ボタンが各エッジから 5px で描画されるように画像を挿入すると仮定します。
- ボタンの推奨最大高さを 50px に設定したとします。
- したがって、ボタンに割り当てる画像は、高さ 40px、画像の縦横比に応じた幅で描画する必要があります。
- たとえば、サイズ 200x100 の画像を割り当てると、ボタンのサイズは 90x50 になるはずです (画像は 80x40 に 5px の境界線を加えて描画されます)。
これを実行できるカスタム JButton クラスはありますか? そうでない場合、どうすればこれを実装できますか?
編集:ところで、アイコンを外側から再スケーリングすることもできますが、ボタンで行うことをお勧めします。
編集2:私にとって最大の問題は、必要なボタンサイズをいつ、どのように決定して設定するのですか? 描画用の画像のスケーリングは問題ではありません。