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

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

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

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

Java

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

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

button

HTMLで用いる<button>タグです。

Eclipse

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

Q&A

解決済

1回答

665閲覧

Java言語アクションイベント及びテキスト取得の方法を教えてください。

Martin

総合スコア4

JFrame

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

Java

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

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

button

HTMLで用いる<button>タグです。

Eclipse

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

0グッド

0クリップ

投稿2020/10/03 11:30

編集2020/10/04 02:26

こんにちは!プログラミングの学習を初めて間もないものです。
また、初投稿でもあります。Martinという名前で登録しています。

今回、ご質問させていただきたいことが2つあります。
一つ目
ボタンがクリックされた際にイベントが発生される(最終的にはネットワークへの接続をと考えたいます)
二つ目
テキストボッスに入力された文字列を取得し反映させるにはどのようにすればよいのか?

また、どうしてそのような記述をするのかも併せてご回答いただけますと助かります。

自身で書いたコードを以下に示します。(できればこのコードに追加する方法で質問事項のコードを回答していただけたら嬉しいです)

Java言語

1import java.awt.BorderLayout; 2import java.awt.Color; 3import java.awt.FlowLayout; 4import java.awt.Font; 5import java.awt.event.*; 6 7import javax.swing.JButton; 8import javax.swing.JFrame; 9import javax.swing.JPanel; 10 11import javax.swing.JTextField; 12 13 class Search extends JFrame{ 14 Search(){ 15 getContentPane().setLayout(new FlowLayout()); 16 17 JTextField text = new JTextField("",30); 18 text.setFont(new Font("SansSerif", Font.ITALIC,15)); 19 getContentPane().add(text); 20 21 22 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 23 setTitle("Search Engine"); 24 setSize(1366,768); 25 setVisible(true); 26 27 JButton button1 = new JButton("検索"); 28 29 JPanel panel = new JPanel(); 30 panel.setBackground(Color.WHITE); 31 panel.setLayout(new FlowLayout(FlowLayout.RIGHT)); 32 panel.add(button1); 33 getContentPane().add(panel,BorderLayout.CENTER); 34 35 } 36 public static void main(String args[]) { 37 new Search(); 38 Search frame = new Search(); 39 } 40 41 } 42

上記の質問事項が以上となります。

どうぞよろしくお願いいたします。

追記
JButton button1 = new JButton("検索");
この箇所に
button1.addActionListener(this);
を記述した場合エラーが出てしまいます。

また、import java.awt.event.*;
をインポートして記述をしています。

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

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

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

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

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

m.ts10806

2020/10/03 12:28

コードはマークダウンのcode機能を利用してご提示ください
Martin

2020/10/03 12:35

早速のご返信ありがとうございます。 一応修正したのですが、マークダウン記法がわからず修正したものであっているのかわかりませんがよろしくお願いいたします。読みにくくてすみません。
Martin

2020/10/03 12:49

ご回答ありがとうございました。 また、マークダウン記法のリンクまでありがとうございます。 参考にさせていただきます。
m.ts10806

2020/10/03 13:16

解決後でも結構ですのでマークダウン対応願います。 いつ来るかわからない「次」には忘れています。
guest

回答1

0

ベストアンサー

button1.addActionListener(this);
を記述した場合エラーが出てしまいます。

エラーになるのは、thisつまりSearchクラスが、ActionListenerインタフェースを実装していないから、です。

diff

1 JButton button1 = new JButton("検索"); 2+ button1.addActionListener(ev -> { 3+ System.out.println(String.format("検索文字列 <%s>", text.getText())); 4+ });

また、どうしてそのような記述をするのかも併せてご回答いただけますと助かります。

以下のことを実現するため、です。

一つ目
ボタンがクリックされた際にイベントが発生される(最終的にはネットワークへの接続をと考えたいます)
二つ目
テキストボッスに入力された文字列を取得し反映させるにはどのようにすればよいのか?

投稿2020/10/03 12:43

shiketa

総合スコア3971

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

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

Martin

2020/10/03 12:58

まずはご回答ありがとうございました。非常にわかりやすく、理解しやすかったです。 また、実際にコンパイルしてみたところ私のイメージしていた通りの結果が得られたので非常に満足しています。 どうもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問