• ベストアンサー

引数としてnew Objectを渡したとき、後でObjectをどうやって参照する?

はじめまして。 以下のようなコードを書いているのですが: class sample extends JScrollPane(){ //コンストラクタ public sample(){ super(new JTextArea); } ここでsuper(new JTextArea);としたこのJTextAreaにアクセス したいと考えています。 友達はgetComponentメソッドを使う方法と、「他でnewする」方法が あると言うのですが、この「他でnewする」というのがどういうこと なのかよく分かりません。 そもそも、JTextAreaはsuper(new JTextArea);したとき、どこへ行って しまうのでしょうか?誰にも参照されていないのでしょうか?? 初心者でしてわかりにくい質問ですみません。 何卒よろしくお願いします。

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

  • ベストアンサー
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.2

> ここで どこで? 通常なら、 JTextArea jta = new JTextArea(); someMethod(jta); としておき、「ここで」jtaにふつうにアクセスできます。 あなたの例では参照がまったくないので、アクセスのしようがありません。 なお、ついでですが、ふつうは、JScrollPaneのサブクラスを作る必要はありません。

foxa-gogo
質問者

お礼

ありがとうございます! とりあえず教えていただいた方法で解決いたしました。 >なお、ついでですが、ふつうは、JScrollPaneのサブクラスを作る必要はありません。 そうなんですか。。う~ん、もっと勉強します(^^;)

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

>ここでsuper(new JTextArea);としたこのJTextAreaにアクセス >したいと考えています。 どこでアクセスしたいのでしょうか? >そもそも、JTextAreaはsuper(new JTextArea);したとき、どこへ行って >しまうのでしょうか?誰にも参照されていないのでしょうか?? 基底クラス JScrollPane のコンストラクタが受け取って、その中で参照しているはずです。

foxa-gogo
質問者

お礼

ご回答ありがとうございます。 sampleクラス内で使いたかったのですが、とりあえず#2のお答えどおりにしたらできました。 >基底クラス JScrollPane のコンストラクタが受け取って、その中で参照しているはずです。 なんだか難しいですね。。。

関連するQ&A