• ベストアンサー

Swingでアプリケーションプログラム

はじめまして。 Swingでアプリケーションプログラムの勉強をしようと思います。 それで、テキストに入力した内容をボタンを押したら、 ラベルに表示されるといった処理を書こうとしました。 ですが、ボタンの処理からテキストの値を読み取りそれをラベルに書き込む処理が分かりません。 どのようにしたらいいのか教えてもらえないでしょうか? お願いします。

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

仕様を満たす最小限のサンプルコードを書いてみました。 本質部分は、コメントが記述されている2行のみです。 参考にしてください。 (なお、本スレッド上でインデントを有効にするため  行頭が全角スペースに変換されています  Copy&Pasteで実行する場合は適宜変換してください) import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class SampleButtonAction {   private JLabel label;   private JTextField textField;   public SampleButtonAction() {     JFrame frame = new JFrame( "SampleButtonAction" );     Container pane = frame.getContentPane();     label = new JLabel( "Label" );     textField = new JTextField( "TextField" );     JButton button = new JButton( "Button" );     button.addActionListener( new ButtonAction() ); // リスナー設定     pane.setLayout( new FlowLayout() );     pane.add( label );     pane.add( textField );     pane.add( button );     frame.setSize( 200, 100 );     frame.setVisible( true );   }   private class ButtonAction implements ActionListener {     public void actionPerformed(ActionEvent e) {       label.setText( textField.getText() ); // ボタンが押されたときの処理     }   } }

nyororo-n
質問者

お礼

ありがとうございます。 解決いたしました。

その他の回答 (1)

  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.1

>テキストに入力した内容をボタンを押したら、 >ラベルに表示されるといった処理を書こうとしました。 作りたいものがこれで、 >ボタンの処理からテキストの値を読み取りそれをラベルに書き込む処理 分からないものがこれだとすると、イベント処理が全く分かってないことになってしまいます。 具体的なコードを作ってて、どこが分からないか細かい所がハッキリしないと、有効な答えが出ないです。 とりあえず、イベントの基本が載ってるサイトを挙げときます。 まずはこちらを参照して下さい。

参考URL:
http://www.atmarkit.co.jp/fjava/rensai3/swing04/swing04_01.html
nyororo-n
質問者

お礼

すみませんでした。 次回からソースなどをつけて わかりやすくするように気をつけたいと思います。

関連するQ&A

  • Java swingによるイベント処理

    こんにちは。 イベント処理について質問なのですが・・・。 テキストフィールドから「あ行」など文字を入力          ↓       ボタンをクリック          ↓   ラベルに「あいうえお」など文字を表示 上のような処理を行わせたいのですが、どのように処理を分岐させればいいでしょうか?

  • Java swingプログラムについて

    はじめまして!! 質問タイトルのswingプログラムに ついて質問させてください。 JFrameにJButton(ファイルチューザ)を設置している だけの簡単なプログラムなのですが、実行時の動作について ・ボタンを押すと極まれになかなかファイルチューザの画面にならない (ファイルチューザが開くまではボタンが押されっぱなし状態) の状態になります。動作確認のためにプログラムを修正しては実行して ウィンドウを多重に開いた時によく発生するように思えます。 ボタンを押してプチフリーズするような状態って発生する のでしょうか??ただ、コードにバグがあるだけでしょうか?? (けど、すんなり開くときの方が多いですし。。。) いざ完成したプログラムを配布する場合、このような状態が 発生してはと思い投稿させていただきました。 そもそもswingは重たい(不安定)のでしょうか?? 作成するプログラム言語を変えた方が無難でしょうか?? アドバイスよろしくお願いいたします。

    • ベストアンサー
    • Java
  • swingについて。

    今JDBCとJAVAを利用してswingからMySQLへの接続と検索を独学でやろうと思っているのですが。 まず最初にswing画面でユーザとパスを入れてログインできるようにしたいのですがどうしてもできないのでアドバイスお願いします。 class Swing{ swingについて色々ユーザ&パス入力画面&ボタン } class MySQLconn{   MySQL接続   ユーザ名&パス&urlをmainから受け取って   接続を試みてDriverManager.getConnection   をmainに返す class MySQLselect{ 検索内容    mainから受け取り検索&表示 class Main{ それぞれのメソッドを利用する   例外が出たとき用にtry-catchがある    こんな感じなのですがMainでBufferedReaderでやっていたときはちゃんとできたのですがswingを使うと ユーザ名&パスが最初は何も入っていない状態になってしまいMainで例外が出て終わってしまいます。 なんとかswingでユーザ名&パスを入力してからその後 実行をさせる事はできないでしょうか。 アドバイスお願いします。   

    • ベストアンサー
    • Java
  • SWINGについて

    最近javaの勉強を始めた者です。今SWINGについて興味を持っているんですがふと「どこで使われているんだろう」と思いました。配布されているアプリケーションでは見たことがありませんし、「GUIが低品質」というのも聞いたことありますのでいまいち有効性が初心者の私にはわかりません。「これだから素人は困るよな」と思われるのを承知で質問しました。よろしければSWINGの実用性、またはこんなところでSWINGは使われているよ等教えてくれませんか?

    • ベストアンサー
    • Java
  • javaアプレットで、作成したボタンをクリックすることで1度実行し操作したプログラムを再実行することはできますか?

    プログラムに関して素人ですが大学の卒業研究でjavaを用いた、学習支援ソフトを作成しています。 値を入力すると、その値に応じたテキストフィールドが出現し、そこにさらに値を入力する。 計算開始を押すと、入力された値を用いて計算し、結果を記したラベルを表示するようなプログラムになっています。 詳しく説明すると 入力タブがあり、最初にa(整数)という値を入力させるようにしてあり、入力してENTERを押すとa個分の番号が振り当てられたテキストフィールドが出現し、そこに更に値を入力し、それを元に、a個分の計算結果が記されたラベルを作成され、計算結果表示用のタブにあるパネルに貼り付けられる。 このようなプログラムになってます。 これにクリアボタンを付けて、それをクリックすると、入力する前の状態(操作中に出現するテキストフィールド、ラベルも表示されてない状態)に戻るようにしたいのですが、どうすれば良いでしょうか? 自分の中では、最初にコンパイルした状態に戻すのが一番早いのかなぁと考えていますが、そのようなことは可能でしょうか? 一生懸命本を読んだりネットで調べたりしてるのですが、指導者がいない為、どうしていいのか分かりません。 よろしくお願いします。

  • このプログラムのソースコードを教えてください。

    このプログラムのソースコードを教えてください。javaです。 javaのプログラムのソースコードを教えてください。 因数分解の練習プログラムをアプレットで作成する。 (1) ラベルを3つ(以上)、ボタンを1つ、テキストフィールドを2つ作成する。 (2) -9から9までの乱数を2つ発生させる。 (3) (2) が解となる2次式の問題をラベルに表示、テキストフィールドに解を入力 しボタンをおす。正しければ「OK」、間違いなら「NG」と表示後、正解をラベルに表示。 (以下、必要に応じてラベル、ボタンなど追加すること) (4) 練習の回数を設定する。また正解数を表示する。 (5) x^2が1でない場合の問題もふくむようにする。 (6) 再スタートボタンを作成。

  • Swingアプリ→Servletプログラムの起動方法

    SwingアプリケーションからServletプログラムを起動する方法をご教授いただきたいです。 Servletプログラムは、DB接続を想定しています。 JTableを使ったJFrameに「Servletプログラムのデータ取得結果」を表示させるサンプルプログラムを見てみたいです。

    • ベストアンサー
    • Java
  • javaのプログラムについてです。(Swingを使っています)

    javaのプログラムについてです。(Swingを使っています) 円の描写は成功しました。ですが、実行して縮小したら消えてしまいます。 どうしてでしょうか? 私の予想ですが、このプログラム自体(円自体)が中心に表示されてないとおもいます。 円を中心に表示するやり方を教えていただけないでしょうか?(TextFieldの中に円は表示させています) そしてその円を縮小、拡大したら大きさが変わらず画面の中心に表示されることのできるプログラムを作りたいとおもっています。 みなさん助言をお待ちしています。

    • ベストアンサー
    • Java
  • フレーム内のラベルやテキストフィールドなどを真っ直ぐ揃えたいのですが

    つい最近JAVAのSWINGクラスとよばれるGUIプログラムを勉強したばかりの人です。 現在ラベル3つとテキストフィールド3つを交互に並び、 フレームの中の下段に中央にボタンが2つあるようなフレームを作成したいです。そして、ボタンを押したらラベル4が表示されるようにするのが目標です。 ↓こんな感じです。 ----------------------------------- ラベル1   テキストフィールド1 ラベル2   テキストフィールド2 ラベル3   テキストフィールド3      (ラベル4(ボタン押したら表示)) ボタン1  ボタン2 ------------------------------------- 単純にJLabelとJTextFieldを交互にソースに書いて getContentPane().add(p, BorderLayout.CENTER);と中央揃えに設定しても、ずれてしまいます。その上、仮にラベル1とラベル2の行の位置が上の場合でも、ラベル1または2の文字数でずれ込みます。 分からないことだらけですが、上のようにまっすぐ揃う方法をお教え下さい。

    • ベストアンサー
    • Java
  • swingについて

    こんにちは。 swingについて質問させていただきます。 swingで配置したボタンなどが、設定したフレームのサイズから最大化した場合に、始めに配置した位置からズレて表示されてしまいます。 フレームのサイズが変更された場合でも、コンポーネントの位置がズレないようにするにはどのようにすればいいでしょうか?

専門家に質問してみよう