質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JFrame

JFrameはJFC/Swingフレームワークのコンポーネントであり、トップレベルのコンテナです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

0回答

1917閲覧

Javaでアドレスを窓に表示したい

TNKa

総合スコア5

JFrame

JFrameはJFC/Swingフレームワークのコンポーネントであり、トップレベルのコンテナです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2019/10/26 14:34

編集2019/10/27 01:14
import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.InetAddress; import java.net.UnknownHostException; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; /* IPアドレス⇔ホスト名の相互変換を行うGUIアプリケーション */ public class MyJFrame1 extends JFrame implements ActionListener{ private JTextField tf; // IPアドレスまたはホスト名の入力欄 private JTextArea ta; // 変換結果の表示 public static void main(String[] args) { // MyJFrame1オブジェクトを生成する new MyJFrame1(); } public void actionPerformed(ActionEvent e){ String text = tf.getText(); try { // 入力されたIPアドレスまたはホスト名から // InetAddressオブジェクトを得て,そこから // ホスト名とIPアドレスとを取得する InetAddress ia = InetAddress.getByName(text); ta.append(ia.getHostName()+"\n"); ta.append(ia.getHostAddress()+"\n"); } catch (UnknownHostException e1) { // InetAddressオブジェクトの生成に失敗したら // 原因を表示する //e1.printStackTrace(); ta.append(e1.toString()); } } MyJFrame1(){ // GUI部品の生成と配置 Container cnt = getContentPane(); tf = new JTextField(); cnt.add(tf,BorderLayout.NORTH); tf.addActionListener(this); ta = new JTextArea("IP address かホスト名を入れてください\n"); JScrollPane sp = new JScrollPane(ta); cnt.add(sp,BorderLayout.CENTER); // 窓の表示(タイトルバーにlocalhostの情報を表示する) setTitle(getLocalHostTitle()); setSize(300,200); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } private String getLocalHostTitle(){ // localhostのホスト名とIPアドレスをつなげた文字列を返す String titleStr = ""; try { // localhostに対するInetAddressオブジェクトを // 得て,そこからホスト名とIPアドレスを取得する InetAddress lh = InetAddress.getLocalHost(); titleStr += lh.getHostName(); titleStr += "("+lh.getHostAddress()+")"; } catch (UnknownHostException e) { // InetAddressオブジェクトの生成に失敗したら // 原因を表示する e.printStackTrace(); } return titleStr; } } ```### 実現したいこと ・テキストフィールドにIPアドレスまたはホスト名を入力し、その得られたオブジェクト(InetAddress)のIP アドレス /ホスト名 / スコープをテキストエリアに表示させ窓を閉じたら実行を終了するプログラムを作りたいのですがわからなくなったので教えていただきたいです。 ###とりあえずできたこと(変えてもらっても大丈夫です) import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.InetAddress; import java.net.UnknownHostException; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; /* IPアドレス⇔ホスト名の相互変換を行うGUIアプリケーション */ public class MyJFrame1 extends JFrame implements ActionListener{ private JTextField tf; // IPアドレスまたはホスト名の入力欄 private JTextArea ta; // 変換結果の表示 public static void main(String[] args) { // MyJFrame1オブジェクトを生成する new MyJFrame1(); } public void actionPerformed(ActionEvent e){ String text = tf.getText(); try { // 入力されたIPアドレスまたはホスト名からInetAddressオブジェクトを得て, そこからホスト名とIPアドレスとを取得する InetAddress ia = InetAddress.getByName(text); ta.append(ia.getHostName()+"\n"); ta.append(ia.getHostAddress()+"\n"); } catch (UnknownHostException e1) { // InetAddressオブジェクトの生成に失敗したら原因を表示する //e1.printStackTrace(); ta.append(e1.toString()); } } MyJFrame1(){ // GUI部品の生成と配置 Container cnt = getContentPane(); tf = new JTextField(); cnt.add(tf,BorderLayout.NORTH); tf.addActionListener(this); ta = new JTextArea("IP address かホスト名を入れてください\n"); JScrollPane sp = new JScrollPane(ta); cnt.add(sp,BorderLayout.CENTER); // 窓の表示(タイトルバーにlocalhostの情報を表示する) setTitle(getLocalHostTitle()); setSize(300,200); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } private String getLocalHostTitle(){ // localhostのホスト名とIPアドレスをつなげた文字列を返す String titleStr = ""; try { // localhostに対するInetAddressオブジェクトを得て,そこからホスト名とIPアドレスを取得する InetAddress lh = InetAddress.getLocalHost(); titleStr += lh.getHostName(); titleStr += "("+lh.getHostAddress()+")"; } catch (UnknownHostException e) { // InetAddressオブジェクトの生成に失敗したら原因を表示する e.printStackTrace(); } return titleStr; } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/10/26 22:53

コードが見づらいので、質問を編集し、<code>ボタン、出てきた’’’の枠の中にコードを貼り付けてください
TNKa

2019/10/27 01:16

すみません codeを追加をしました。 教えていただきありがとうございます。
jimbe

2019/10/27 07:16 編集

「とりあえずできたこと」のほうのコードを同様にしていただけると助かります.
TNKa

2019/10/27 07:29

あとからcodeに付け加えたので、codeに書いてあるやつととりあえずできたことは一緒です。 分かりにくくてすみません
jimbe

2019/10/27 13:54

動作しているようですが, 何が問題なのでしょう.
TNKa

2019/10/27 13:57

テキストフィールドに入力する所はできたのですが、ここから得られたオブジェクト(InetAddress)のIP アドレス /ホスト名 / スコープをテキストエリアに表示させ窓を閉じたら実行を終了するプログラムを作りたいと思っています。
y_waiwai

2019/10/27 14:01

その説明を質問の方に書いといてください
TNKa

2019/10/27 14:02

実現したいところに書いています
y_waiwai

2019/10/27 14:04

現状のコードではどういう動作をするんでしょう(質問に追記願います)
jimbe

2019/10/27 14:06

こちらで実行した限りでは, スコープは出ていませんがIPアドレスとホスト名は表示出来ていますし, [x] を押したら終了しています. スコープの表示が出来ないということが本題でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問