締切済み

ボタンを押してIPを表示させたい。

  • 困ってます
  • 質問No.263851
  • 閲覧数60
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 85% (6/7)

javaの勉強をJbuilderを使って始めました。
他の言語のスキルもかなり頼りない程度です。

質問なんですが、自分のマシンのIPを調べるというJavaプログラムを本で見つけそれをDOS上で
コンパイルし実行したところDOSプロンプト上にIPがちゃんと表示されました。

~略
  try{
InetAddress local = InetAddress.getLocalHost();
System.out.println( local );
}
catch( Exception e ){
略~

という内容なんですが、これをjbuilderを使って
フレームにボタンとラベルを配置して、ボタンを押したら
ラベルにIPが表示されるようにしたいんですがうまくいきません。

void jButton2_actionPerformed(ActionEvent e) {
    try{

    InetAddress local = InetAddress.getLocalHost();

    jLabel1.setText(local);
    }
     catch(Exception e ){
     System.err.println("error");
     System.exit(1);

    }


というようなアクション内の内容なんですが、どのへんがおかしいのでしょうか?
いろいろ試してみてだんだんシンプルになってきたのですが根本的に間違ってるのでしょう。 

疑問として、取得したIPは文字列なのか?
toStringというのをよく見かけるけれど必要なのか?
NEWを使わずにいきなり
InetAddress local = InetAddress.getLocalHost();
この一文で良いのか?
などなどわからないことだらけです。
プログラム初心故、見当違いな言葉使い、質問など多いと思いますが、
どなたかわかりやすく解説お願いします。

回答 (全1件)

  • 回答No.1

ベストアンサー率 50% (604/1207)

> 疑問として、取得したIPは文字列なのか?
> toStringというのをよく見かけるけれど必要なのか?

取得したIPはInetAddressクラスのインスタンスです。(だから戻り値をInetAddress型の変数に代入しているんですよ)
したがって、toString()メソッドで文字列に変換しないといけません。

> NEWを使わずにいきなり
> InetAddress local = InetAddress.getLocalHost();
> この一文で良いのか?

getLocalHost()はスタティックなメソッドなので、newを使わなくてもそのまま使えます。


あと、イベントリスナの実装のしかたがすこし違っています。Javaでのイベントの扱いについて、もう少し参考書などで確認なさってください。Javaでは、メソッド名でイベントが発生するコンポーネントを指定するのではなく、リスナをコンポーネントに「追加」することによって対象のコンポーネントを指定します。

具体的には、リスナのメソッドは次のようなものになると思います。

public void actionPerformed(ActionEvent event) {
  try {
    InetAddress local = InetAddress.getLocalHost();
    jLabel1.setText(local.toString());
  } catch (Exception e) {
    jLabel1.setText("エラー発生");
  }
}


どちらにしても、余り欲張らずに、最初はウィンドウの表示、続いてイベントの処理、さらにIPアドレスと組み合わせ、といったようにゆっくりと進めていったほうがいいと思います。
お礼コメント
nakanoma

お礼率 85% (6/7)

ありがとうございました。
IP表示できました!
そうですね、イベントリスナといわれてもピンとこない
初心者がちょっと欲張りすぎたようです(笑)
順々にjavaの仕組みを覚えていこうと思います。
助かりました。
投稿日時 - 2002-05-05 02:25:08
Be MORE 7・12 OK-チップでイイコトはじまる
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ