JButtonを設定して、テキストが中央に配置されているときにそのアイコンが左に揃うようにしたいとします。JButtonアイコンを左側に整列してテキストを中央に置く
私はそれらのうちの1つを左に、もう1つを右に、または両方を同じ設定にする方法を見つけましたが、私が探しているものを見つけることができませんでした。
もちろん、私はいつもの塗料の方法を再定義することができますが、私はそれを行うためのよりリーンな方法を探しています。
JButtonを設定して、テキストが中央に配置されているときにそのアイコンが左に揃うようにしたいとします。JButtonアイコンを左側に整列してテキストを中央に置く
私はそれらのうちの1つを左に、もう1つを右に、または両方を同じ設定にする方法を見つけましたが、私が探しているものを見つけることができませんでした。
もちろん、私はいつもの塗料の方法を再定義することができますが、私はそれを行うためのよりリーンな方法を探しています。
あなたは、たとえばBorder Layoutが役立つだろう、あなたのJButton
にlayout managerを追加することができます。
をあなたはテキスト「私をクリックしてください」とIcon
と1でJLabel
を作成します。
JLabel iconLabel = new JLabel(new ImageIcon(this.getClass().getResource("king.png")));
JLabel clickMe = new JLabel("Click me", SwingConstants.CENTER); //We give it the center alignment so it stays on the center of the label.
その後、あなたはJButton
を作成し、それに罫線レイアウトを付け、必要な位置にコンポーネントを追加します。
button.setLayout(new BorderLayout());
button.add(iconLabel, BorderLayout.WEST);
button.add(clickMe, BorderLayout.CENTER);
私はclickMe
ラベルがJButton
の中央に右ではありませんので、あなたは、各ラベルがどのように見えるか見ることができるように、各ラベルに国境を与えたが、そのJLabel
の中央に:
私はそれがほとんど感知できないだとして、それは大したことではないと思う/ボーダーO W
素晴らしい、ありがとう!ロールオーバー、押された、または選択されたときの表示も異なりますか? –
@VicSeedoubleyewは「ロールオーバー」という意味ですか?そして、 "異なった表示"で?クリックすると、JButtonが押されているようになり、同じ機能を持ちます。その外観を変更するだけです。 – Frakcool
@VicSeedoubleyew "ロールオーバー"の意味を取得しますが、異なった表示 "を明確にすることはできますか? – Frakcool