2017-03-16 6 views
0

他の条件に応じてアイコンファイルを変更できるように、getIconパラメータを読み込んでメソッドの変数に割り当てることは可能ですか?別のメソッドで変数としてパラメータを使用する方法

private ExampleAction exampleAction = new ExampleAction("End", 
     Resources.getIcon("end22")...; 

フィールドで変更しようとしていませんが、必要に応じてgetIcon( "x")を後で再定義します。

+2

質問に詳細を追加できますか? – anacron

+1

'ExampleAction'にアイコンを変更する設定がない場合は、 –

+0

'ExampleAction'クラスを知らなくても伝えるのは難しいです。 – domsson

答えて

0

Java 8では、必要なときにいつでも呼び出しを行う関数を渡すことができます。

class ExampleAction { 
    ExampleAction(... , Supplier<Icon> s, ...) { ... } 

    Icon getIcon() { 
    return s.get(); 
    } 
} 

また、あなたが簡単にするために、私はいくつかのクラスに変数を使用します、どこかでアイコン名を格納することができ:

class Icons { 
    String exampleIconName; 
} 

その後、あなたはこのようにそれを呼び出す:

Icons icons = ...;//You get it from somewhere 
new ExampleAction(..., i->Resources.getIcon(icons.exampleIconName), ...) 

その後実行時に任意の値にicons.exampleIconNameを変更することができます。

代わりにあなただけの、Iconsを渡すがアイコン自体を保存し、必要に応じてそれを置き換える:

class Icons { 
    Icon exampleIcon; 
} 

class ExampleAction { 
    ExampleAction(... , Icons icons, ...) { ... } 

    Icon getIcon() { 
    return icons.exampleIcon; 
    } 
} 
0

私が理解からは、限り、あなたは「exampleAction」オブジェクト

を読みたいということです変数はアクセス可能ですが、可能です。あなたが外で読みたい場合はexampleActionが同じクラスすなわちExampleAction

以内に読み取ることができるので、あなたのケースでは、それはプライベートであるように、オブジェクトを返すか、 「exampleAction」

に値を設定するためにパブリックメソッドを作成するパブリックメソッドを宣言
関連する問題