こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

コンポーネント

Javaのコンポーネントってどういったもののことを言うんですか?コンポーネントの意味自体はなんとなくわかるのですがJavaにおいて具体的にはどういうものがコンポーネントにあたるのかわかりません。よろしくお願いします。

投稿日時 - 2007-02-01 19:01:34

QNo.2715188

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>何度もありがとうございます。それではJButtonのインタフェースは
>Accessible, ImageObserver, ItemSelectable, MenuContainer, Serializable, SwingConstants
>と考えていいんですね?
はい。その通りです。

>ソースコードはどういったインタフェースが使われているか調べるだけなので基本的には問いません。
とりあえず、Javaで提供しているクラスのソースコードを「implements」でgrepしてみてはいかがでしょうか。
それで足りないのであれば、Jakartaあたりのソースコードをダウンロードして調べてみるとか。

投稿日時 - 2007-02-07 15:21:48

ANo.3

>ソースコードを見ても上記のような名前のインタフェースが使われているのが見つかりません。
親クラスで実装しているからです。
JButtonのソースでは「Accessible」しか実装していませんが、
その親であるAbstractButtonのソースを見ると「ItemSelectable」「SwingConstants」を実装しています。

>なるべく大規模のソースコードが公開されているサイトをご存知ないですか?
何のソースコードでしょうか?
そして、「大規模」とは何を基準にして「大規模」なのでしょうか?
ステップ数?クラス数?

投稿日時 - 2007-02-07 13:08:30

補足

何度もありがとうございます。それではJButtonのインタフェースは
Accessible, ImageObserver, ItemSelectable, MenuContainer, Serializable, SwingConstants
と考えていいんですね?

>何のソースコードでしょうか?そして、「大規模」とは何を基準にして「大規模」なのでしょうか?ステップ数?クラス数?

ソースコードはどういったインタフェースが使われているか調べるだけなので基本的には問いません。そのような理由なのでクラス数が多いほうが調べやすいかな?と考えています。言葉足らずで申し訳ございません。

投稿日時 - 2007-02-07 14:57:22

ANo.2

>SwingでJButtonはコンポーネントにあたるのでしょうか?
はい。コンポーネントになります。
JButtonのJavadocを見ると
java.lang.Object
 |
 +--java.awt.Component
    |
    +--java.awt.Container
       |
       +--javax.swing.JComponent
          |
          +--javax.swing.AbstractButton
             |
             +--javax.swing.JButton
上記のように継承しています。
java.awt.Componentのサブクラスになるので、コンポーネントになります。
JavaのGUIで使用する部品はほぼ全て「コンポーネント」だと思って良いと思います。
(全て確認していないので、私の極端な考えかもしれません。)
また似たような言葉で「コンテナ」(もしくはコンテナー)というものがありますが、こちらは
「コンポーネント」を「入れる」ことのできる「コンポーネント」
のことで、
java.awt.Containerのサブクラス
のことです。ご参考までに。

投稿日時 - 2007-02-05 10:58:48

補足

回答ありがとうございます。
それではこのコンポーネントのインタフェースは下記ページに記載されている
「すべての実装インタフェース:
Accessible, ImageObserver, ItemSelectable, MenuContainer, Serializable, SwingConstants 」
になるのですか?今、任意のコンポーネントに対してどのインタフェースがよく使われているか調べなくてはいけないのですがソースコードを見ても上記のような名前のインタフェースが使われているのが見つかりません。なるべく大規模のソースコードが公開されているサイトをご存知ないですか?重ね重ねすいませんが宜しくお願いします。

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/javax/swing/JButton.html

投稿日時 - 2007-02-07 04:14:22

ANo.1

私は、
java.awt.Componetクラス(またはそのサブクラス)のインスタンス
だと思っています。

また、質問者様はどういうときに「コンポーネント」という言葉を聞いて疑問に思いましたか?
それを補足して頂くとより良い回答が得られるかもしれません。

投稿日時 - 2007-02-01 19:19:58

補足

回答ありがとうございます。回答者様のご質問に対する答えにはなっていませんが、私自身、まだJava全般の用語の定義をちゃんと理解できていず何がわからないかもわからない状況だと思います。
SwingでJButtonはコンポーネントにあたるのでしょうか?

投稿日時 - 2007-02-04 00:08:57

あなたにオススメの質問