
No.3ベストアンサー
- 回答日時:
失礼しました。
#1では勘違いしていました。やりたいことはわかりましたが、
変数名を実行時に変えるのは不可能です。
もし、オブジェクトを、Stringで管理するとすれば、
java.utilの中のHashtableやMapを使って、
キーと値のペアとして管理します。
Hashtable hashtable = new Hashtable
....
public void createPanel(String name) {
Panel namePanel = new Panel();
hashtable.put(name, namePanel);
}
(ただ取り出すときに注意。キャストが必要。
Panel panel = (Panel)hashtable.get(name);のように)
この回答へのお礼
お礼日時:2003/05/14 16:29
たびたびのお答えありがとうございました。
例文読ませていただきました、今の私にはチト難しいですが、参考にさせていただきます。
いつも、いつも本当に感謝しています。
ありがとうございました。
No.2
- 回答日時:
>例)
>public void createPanel(String name) {
> Panel name = new Panel();
>}
No.1の方の言う通り変数の名称は重複することは不可能です。
>>Panel namePanel = ...などとすればいいでしょう。
>これだと、namePanelという名前のパネルが作成されてし
>まいませんか?
変数の名前を状況に合せて変更するというのはおそらくですけど不可能ではないでしょうか・・・(私の知識不足かもしれませんが・・・)
インスタンスはどんな名前でも問題ないです。
publicとして使うんならこの名前を使用しますが。
Panelに名前をつけるとするなら以下のような感じです。
////////////////////////////////////////////////
public void createPanel(String name) {
//Panelインスタンスの生成をします。
Panel namePanel = new Panel();
//生成インスタンスに引数の名前をセットします。
namePanel.setName(name) ;
}
////////////////////////////////////////////////
これでパネルに名前が付けられますがいかがでしょうか。
No.1
- 回答日時:
String nameとPanel nameで変数名がかぶってます。
Panel namePanel = ...などとすればいいでしょう。
この回答へのお礼
お礼日時:2003/05/14 14:54
お答えありがとうございます。
>Panel namePanel = ...などとすればいいでしょう。
これだと、namePanelという名前のパネルが作成されてしまいませんか?
パネルの名前をせっかく引数(String name)をもらってきているのだからその名前を作成するパネルの名前にしたいのです。
このメソッドを呼ぶ側で引数に"pnl1"としたら、"pnl1"という名前のパネルをこのメソッドで作成したいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
関連するカテゴリからQ&Aを探す
おすすめ情報
人気Q&Aランキング
-
4
「インスタンス」の意味をわか...
-
5
VB6.0で、DLLを動的に参照したい
-
6
メモリリークが発生するのはど...
-
7
「String arr[]」 と「String[]...
-
8
エンクロージングインスタンス
-
9
private static という変数の修飾
-
10
変数の参照でエラーが出てしま...
-
11
VB6.0のクラスで、自分自身のイ...
-
12
vb.netでFAXを送信する方法
-
13
静的メソッドとインスタンスメ...
-
14
フォームの存在をチェックする方法
-
15
エクセル(複数インスタンス)...
-
16
データベースから日付型を取得...
-
17
System.out.printlnの意味がよ...
-
18
メソッドの引数としてのthisの意味
-
19
String a = "a"; と String b =...
-
20
参照渡し