"ルックアンドフィール"を設定することで、アプリケーションの全体的なルックアンドフィールを変更できることがわかっています。ルックアンドフィールクラスを作成せずにコンポーネントをグローバルに変更する方法はありますか?例えば、あなたのボタンのすべてを黒にしたいのであれば、これをどうやって行いますか?私は空白を描いている。 STJava Swing - グローバルにパネルをピンクの背景に変更する
答えて
一つの解決策は、工場出荷時のパターンとすることができ
おかげ。
定義済みの設定でボタンを作成するFactoryクラスを作成できます。毎回 ボタンが必要です。このファクトリクラスを使用すると、事前定義されたプロパティを持つオブジェクトが取得されます。
Button button = factory.createButton()
class Factory{
Button createButton(){
Button button = new Button();
button.setBackgroundColor(Color.PINK);
return button;
}
}
ルックアンドフィールのデフォルトを変更してください。素晴らしいツールがあります:http://tips4java.wordpress.com/2008/10/09/uimanager-defaults/ Java Web Startプログラムを実行すると、各コンポーネントのキーと値を参照できるようになります。
はしかし、単にいくつかの新たな問題が発生する可能性があります背景を変え、この質問を見てみましょう: Java- Changing swing background colour?ありがとう、それはちょうど私が探していた読書かもしれません。 – soulTower
あなたがそれらをループBG色を設定できた対応するコンポーネントのコレクションを持っている場合。
public void setBgColor(Color color, List<Component> components) {
for (Component c : components) {
c.setBackgroundColor(color);
}
}
難しい部分はコンポーネントのリストを取得しています。特定のコンポーネントグループをコレクションに登録し、上記のメソッドを使用してさまざまなプロパティを設定することで、これを実行しました。このシナリオは、集中オブジェクト作成のための良い引数です。
色を変更する必要がある場合はどうすればいいですか?これがすべてあなたのコントロール下にあるアプリケーションであれば、必要なすべてのコンポーネント(パネル、ボタンなど)の基本クラスを作成し、必要に応じてpaintComponentメソッドをオーバーライドして継承を利用することが理にかなっています。 paintComponentメソッドから呼び出される関連する "ペインタ"を提供することで、ベースコンポーネントのpaintComponentメソッドの動作をインスタンス化時にカスタマイズできる場合、このアプローチはよりモジュラになる可能性があります。
Hereは、潜在的に有用なリンクです。
- 1. mouseleave div、背景色を灰色に変更、mouseleaveでdiv内でQtip、背景色をピンク色に変更
- 2. bashのグローバル背景色を変更するには
- 3. Java Swingヘッダーとフッターの背景色
- 4. Javaコードで背景を変更する
- 5. MainActivity背景画像を別の背景に変更する
- 6. Javaの変更ボタンの背景色
- 7. JPanelのJava Swingでのパネル
- 8. Javaパネルの背景色を変更するにはどうすればいいですか?
- 9. 背景をwxpythonパネルに入れます
- 10. 変更ブートストラップの崩壊パネルの背景色
- 11. Javaスイングの背景の図面を更新するには?
- 12. Java Swing - スクロール可能なパネル
- 13. アンドロイド:右に尺度変更するウィンドウに背景を変更
- 14. Officeリボンの背景と前景を変更するには
- 15. パネルをJava Swingに添付されたパネルから削除するには?
- 16. Javaのレイアウトの背景色を変更する
- 17. Java - メニューバーとアイテムの背景とテキストの色を変更する
- 18. 背景色の前にホバーの透明な背景イメージを変更する
- 19. JFrameの背景色を変更する
- 20. Java Swing - GridBagConstraintsの変更
- 21. オリエンテーション変更 - 背景
- 22. 変更背景色
- 23. jdesktoppaneのデフォルトの背景イメージを変更するには?
- 24. Javaの背景色を変更するボタン
- 25. ボタンを別のクラスから押したときのJava Swingの変更パネル
- 26. Java Swingアプリケーションで背景画像を表示
- 27. Java swingコンポーネント:フォントや背景色などのバインディングプロパティ
- 28. ボタンの背景色を変更する
- 29. UINavigationBarの背景色を変更する
- 30. Android - カスタムダイアログの背景を変更する
ありがとうございました。私ははっきりしていなかった。私が既存のアプリケーションを持っていて、私のクライアントがボタンのための別の配色をしたいと言ったら。どのように達成できますか? – soulTower
ボタンクラスを同じ名前で拡張することができます。 Buttonはjavax.swing.Buttonを継承し、この新しいクラスのコンストラクタでバックグラウンド値を設定します。ただし、コードを更新して、すべてのjavax.swing.Buttonインポートを新しいクラスに置き換える必要があります。既存のコードのファクトリ方法と比較した、より簡単なリファクタリング – fmucar