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

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

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

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

Swing

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

Q&A

解決済

2回答

1677閲覧

javaのswingについて

Qyui

総合スコア13

Java

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

Swing

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

0グッド

0クリップ

投稿2016/12/19 12:36

javaでtextFieldに文字を打つと
textAreaに数値を表示しようとしています
例えばtextFieldに”パン”と打ったらtextAreaに1を表示
"ごはん”と打ったら2を表示のような

JButtonを経由すれば出来たのですが
JButtonを経由せずtextFieldに"パン”と打ったらtextAreaに1を表示するにはどうすればよいでしょうか?

因みに今はこんな感じです
import javax.swing.✳︎;
import java.awt.event.✳︎;

public class pan{

static JTextField textF = new JTextField();

static JButton btn = new JButton(”OK”);

static JTextArea textA = new JTextArea();

static EI EI = new EI();

public static void main(String[] args) {

myframe.setBounds(100, 100, 640, 480);

myframe.setVisible(true);

myframe.setLayout(null);

myframe.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE);

myframe.add(mytextfield);

mytextfield.setBounds(10, 10, 500, 50);

myframe.add(mytextarea);

mytextarea.setBounds(10, 70,600,360);

myframe.add(mybutton);

mybutton.setBounds(520, 10, 100, 50);

mybutton.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

mytextarea.setText(

myEl. hanasu(mytextfield.getText()));

}

}

);

}

}

class El{

public String hanasu(String str1){

if(str1.equals("パン"))return "1";
if(str1.equals("ごはん"))return "2";

return "3";

}
}

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

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

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

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

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

guest

回答2

0

ベストアンサー

具体的には以下でできます

java

1import javax.swing.event.DocumentListener ; 2import javax.swing.event.DocumentEvent; 3import javax.swing.*; 4import java.awt.event.*; 5 6public class DOD{ 7 8static JFrame myframe= new JFrame("表示"); 9static JTextField mytextfield = new JTextField(); 10 11 12 13//static JButton mybutton = new JButton("OP"); 14 15static JTextArea mytextarea= new JTextArea(); 16 17static EI en = new EI(); 18 19public static void main(String[] args) { 20 21myframe.setBounds(100, 100, 640, 480); 22 23myframe.setVisible(true); 24 25myframe.setLayout(null); 26 27myframe.setDefaultCloseOperation( 28 29JFrame.EXIT_ON_CLOSE); 30 31myframe.add(mytextfield); 32 33mytextfield.setBounds(10, 10, 500, 50); 34 35 36mytextfield.getDocument().addDocumentListener(new DocumentListener() { 37 // implement the methods 38public void changedUpdate(DocumentEvent e){ 39 40 41} 42public void removeUpdate(DocumentEvent r){ 43} 44public void insertUpdate(DocumentEvent r){ 45mytextarea.setText(en. hanasu(mytextfield.getText())); 46} 47} 48 49); 50myframe.add(mytextarea); 51 52mytextarea.setBounds(10, 70,600,360); 53 54//myframe.add(mybutton); 55 56//mybutton.setBounds(520, 10, 100, 50); 57 58 59} 60 61} 62 63class EI{ 64 65public String hanasu(String str1){ 66 67if(str1.equals("パン"))return "1"; 68if(str1.equals("ごはん"))return "2"; 69 70return "3"; 71 72} 73}

投稿2016/12/19 13:35

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

DocumentListenerを使用してください。

参考:how add a listener for jtexfield when it changing?

投稿2016/12/19 12:53

carimatics

総合スコア740

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問