• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JButtonがsetEnabled(false)の時の文字色)

JButtonがsetEnabled(false)の時の文字色

このQ&Aのポイント
  • JButtonがsetEnabled(false)の時の文字色について知りたい
  • ボタンのテキストを二段にしたいが、setEnabled(false)の場合の文字色が黒のままである
  • grayやsilverなどいくつかの色を試したが、望みの色にならなかった

質問者が選んだベストアンサー

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.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段にする別の方法は知りません。

noname#7237
質問者

お礼

早速昨日やってみました。 Color color=UIManager.getLookAndFeelDefaults().getColor("Button.disabledText") ; ではなく Color color=UIManager.getLookAndFeelDefaults().getColor("Button.disabledForeground") ; で、色が取れました。 しかし・・・しかし! enabled(false)の時の文字色は、文字の回りに影がついてるようで、やっぱちょっと違う感じになってしまうのです! はー、あきらめるしかないのかなぁ。 どうもありがとうございました!