dポイントプレゼントキャンペーン実施中!

Swing の勉強を始めました。

人のソースを読んでいると、
Button クラスと JButton クラスがあるようなのですが、これらはどう違うのでしょうか?

特に Buttonに関する資料が見つかりません。

A 回答 (3件)

>JButtonはButtonの上位互換みたいなものと思って良いのでしょうか?



厳密には違いますが、だいたいはそうです。
AWTで書かれたプログラムをSwingのものに置き換えるとき、
ButtonをそのままJButtonと書き換えれば、
そのまま動作する場合が多いと思います。

ただ、クラスの継承関係の上では、違うものになっています。
その意味で、完全に上位互換というわけではありません。

#それから、Swingの動作速度ですが、
たしかに初期のSwingは「重くて遅くて使えるか!」
と言われたこともあったけれど、
実装の効率化などによって、最近はずいぶん改善されました。
嫌わないで使ってください。
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2004/07/09 19:11

Button と JButton に関しては、#1さんが書いたことで間違いはありません。


わたしは、補足としてAWTとSwingのことを書いておきます。

Swingの部品はAWTよりも高性能で、種類も豊富にあります。

AWTでは、ちょっと凝ったことをしようとすると、とたんに出来なくなることも
しばしば。。。
逆にSwingは、「こんなの必要か?」という機能まであったりします。

また、SwingにはJTableやJTreeなどのようにコンポーネントの種類も
AWTとは比べものにならない程多いです。

ただし、AWTがOSの部品をそのまま使っているのに対し、Swingは
全てJavaで作られているため、AWTに比べて動作が遅くなります。
しかし、これは最近のマシンではあまり気にならないと思います。

*AWTを「重量なコンポーネント」と言ったりしますが、
これはOSのリソースを使うという意味で「重量な」ものです。
    • good
    • 0

ButtonはAWTにあるボタンであり、


JButtonはSwingにあるボタンです。
一般的に、AWTの部品とSwingの部品を混在して使うのはよくないので、
Swingを使うのであれば通常はJButtonを使います。

プログラム側からしてみると、ButtonもJButtonも
基本的なところではかわりありません。
ActionListenerを登録するとそれが実行されるという使い方です。
ただ、AWTのButtonではImageIcon表示ができないなどの違いがあります。
SwingのJButtonの方が細かい点で高性能になっています。
    • good
    • 0
この回答へのお礼

ありがとうございます!AWTだったのですね。

一つ質問させて下さい。

調べてみると、
「Swing コンポーネントは AWT を継承した軽量コンポーネント郡」
と書いてあるのですが、JButtonはButtonの上位互換みたいなものと思って良いのでしょうか?

お礼日時:2004/07/09 12:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!