2

アイコン(または実際には画像)を表示するだけの JButton が必要です。ユーザーがクリックできるボタンであることを認識できるように、通常のボタンの境界線を使用するのが好きです。このボタンは高さを固定する必要がありますが、アイコンの縦横比に応じて幅のサイズを変更します。

  • ボタンが各エッジから 5px で描画されるように画像を挿入すると仮定します。
  • ボタンの推奨最大高さを 50px に設定したとします。
  • したがって、ボタンに割り当てる画像は、高さ 40px、画像の縦横比に応じた幅で描画する必要があります。
  • たとえば、サイズ 200x100 の画像を割り当てると、ボタンのサイズは 90x50 になるはずです (画像は 80x40 に 5px の境界線を加えて描画されます)。

これを実行できるカスタム JButton クラスはありますか? そうでない場合、どうすればこれを実装できますか?

編集:ところで、アイコンを外側から再スケーリングすることもできますが、ボタンで行うことをお勧めします。

編集2:私にとって最大の問題は、必要なボタンサイズをいつ、どのように決定して設定するのですか? 描画用の画像のスケーリングは問題ではありません。

4

2 に答える 2

0

UI や要件を完全に理解しているかどうかはわかりませんが、Darryl のStretch Iconが役立つかもしれません。コンポーネントのサイズに基づいてアイコンのサイズを自動的に変更し、アスペクト比を維持するオプションがあります。

于 2013-08-25T17:19:53.437 に答える