- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JButtonがsetEnabled(false)の時の文字色)
JButtonがsetEnabled(false)の時の文字色
このQ&Aのポイント
- JButtonがsetEnabled(false)の時の文字色について知りたい
- ボタンのテキストを二段にしたいが、setEnabled(false)の場合の文字色が黒のままである
- grayやsilverなどいくつかの色を試したが、望みの色にならなかった
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
スマートじゃありませんが、デフォルトのボタン動作不可 の文字色を調べてフォントタグか何かでボタンテキストの 文字色を変更すれば「取りあえず」可能です。 //デフォルトの色を取り出す Color color=UIManager.getLookAndFeelDefaults().getColor("Button.disabledText") ; //16進数文字列に変換 String rgb=Integer.toHexString(color.getRed())+Integer.toHexString(color.getGreen())+Integer.toHexString(color.getBlue()) ; //アクションリスナー button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { button.setText("<html><font color=#"+rgb+">上<br>下</font></html>") ; button.setEnabled(false) ; } }); 2段にする別の方法は知りません。
お礼
早速昨日やってみました。 Color color=UIManager.getLookAndFeelDefaults().getColor("Button.disabledText") ; ではなく Color color=UIManager.getLookAndFeelDefaults().getColor("Button.disabledForeground") ; で、色が取れました。 しかし・・・しかし! enabled(false)の時の文字色は、文字の回りに影がついてるようで、やっぱちょっと違う感じになってしまうのです! はー、あきらめるしかないのかなぁ。 どうもありがとうございました!