ゲームを作成していますが、ボタンを無効にすると setEnabled(false);
、ボタンが灰色になり、ゲーム内の他の色と衝突します。ボタンが無効になっているときにボタンの色を変更する方法はありますか?
8 に答える
ボタンに HTML コーディングを追加することで、無効化されたボタンにも幅広い柔軟性を与えることができます。
Example: button.setText("<html><font color = red>3</font></html>");
ボタンでsetContentAreaFilled(false)を呼び出すと、無効になっていない場合でも、ボタンが無効になっているかのように見えます。ただし、その逆は機能しないようです。
ボタンが有効に見える必要がない場合は、これで問題ありません。
テキストについて話している場合は、UIManager を使用して無効な前景色を変更できる場合があります。UIManager Defaultsを確認してください。
JButton.setDisableIcon()で無効化アイコンを設定することもできます
使用しているルック アンド フィールを変更する必要があります。ダウンロードできるものがたくさんあり、もちろん自分で作成することもできます。
最善かつ簡単な解決策は次のとおりです。
yourButton.setContentAreaFilled(false);
ブール値を true に変更するだけで簡単に元に戻せます。
yourButton.setContentAreaFilled(true);
私はこれについて100%ではありませんが、ボタンのガラス板のペイント方法を上書きして、選択した色でオーバーレイできると思います。
コンテナのペインに関するチュートリアルは次のとおりです。
http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html