• ベストアンサー

javaのJTextFieldについて

javaで入力フォームのJTextFieldをクリックした時に、入力フォームにある文字をクリアしたいのですが、やり方が分からないのでどなたか教えてください。 今回は、初めにJRadioButtonを選択し、すると、入力フォーム上に、"~を入力してください"、と表示され、その後に入力フォームをクリックした時に、"~を入力してください"、の表示をクリアしたいのですがどの様な方法で行えばいいですか。

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

  • ベストアンサー
noname#161640
noname#161640
回答No.1

>javaで入力フォームのJTextFieldをクリックした時に、入力フォームにある文字をクリアしたいのですが これは、FocusListenerをJTextFieldに組み込みます。フォーカスが当たると、focusGainedが呼び出されるので、ここで表示の初期化を行えばよいでしょう。FocusListenerについて調べてみてください。 >初めにJRadioButtonを選択し、すると、入力フォーム上に、"~を入力してください"、と表示され、その後に入力フォームをクリックした時に、"~を入力してください"、の表示をクリアしたいのですが JRadioButtonのActionLListenerでフォーム関係のコンポーネントをsetVisible(true)し、同時にJTextFieldを初期化すればよいでしょう。

wakatakasaikyou
質問者

お礼

ありがとうございます、説明の通りにやったら出来ました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JTextFieldでのダブルクリック

    JTextField入力・編集中に、マウスをダブルクリックすると、 デフォルトで単語の選択状態になりますが、これを無効にする 方法を教えてください。 以上、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • javaのJTextFieldにマウスフォーカス

    お世話になります。 Q1)下記のコードに於きまして、JTextFieldにマウスフォーカス が当りますと、その旨、System.out.println("JTextField_tt")と表示する方法をお教えください。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.LineBorder; public class EObjectTest extends JFrame implements ActionListener { public static JButton b1; public static JButton b2; public static JTextField tt; static EObjectTest frame; public static void main(String args[]){ frame=new EObjectTest("AAAA"); frame.setVisible(true); } EObjectTest(String title) { setTitle(title); setBounds(100, 100, 300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); // ボタン作成・追加 b1 = new JButton("One"); b2 = new JButton("Two"); tt = new JTextField("aaa"); LineBorder border = new LineBorder(Color.RED, 2, true); tt.setBorder(border); tt.setColumns(15); p.add(b1); p.add(b2); p.add(tt); Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER); // リスナ登録 b1.addActionListener(this); b2.addActionListener(this); tt.addActionListener(this); } public void actionPerformed(ActionEvent e) { // getSource() でイベントソースのオブジェクトを獲得し // Button クラスにキャストする JButton b = (JButton)e.getSource(); // JTextField ttt = (JTextField)e.getSource(); if (b==b1) { System.out.println("Oneのボタン"); } if (b==b2) { System.out.println("Twoのボタン"); } /* if (ttt==tt) { System.out.println("JTextField_tt"); } */ } } 以上

    • ベストアンサー
    • Java
  • javaのJTextFieldと、ActionListenerについて

    javaのJTextFieldと、ActionListenerについての質問です。 「JTextFieldで表示した文字が、エンターを押すと消える」というものが作りたいのですがなかなかうまくいきません。 setTextメソッドを用いて文字(例えば"こんにちは")を表示させればいいと言われたのですが、これも全くうまくできず…仕様書も参照しましたが、手も足も出ない状態です。 ちなみに、私は大学でeclipseを使ってjava言語を学んでいる初心者です。 どなたか詳しい方がいらっしゃいましたら、ぜひ教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Javaの表示が遅い

    Javaの表示が遅い。もともとリカバリーする前から同じくらいの速さでした。光に変えた後もTop ページの表示の遅さは変わりません。 システムの復元で推奨しないを実行して以来、文字もマウスを上下に動かすと文字が崩れてきます。 ウイルスに感染していました。 システムが不安定になっていたのでリカバリーを薦められました。 初め文字が表示され、Javaが表示されます。完全にJavaが表示されてしまうと文字は崩れてきません。なぜでしょうか。

  • JTextFieldのgetTextについて

    javaプログラミング初心者です。 javaのGUIプログラミングについて少し分からないところがあるので質問させて頂きます。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TextTest extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; JTextField text = new JTextField(null, 10); JPanel p1 = new JPanel(); public static void main(String[] args){ TextTest frame = new TextTest(); frame.setVisible(true); } public TextTest(){ setBounds(10, 10, 460, 310); setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle("Test"); GridBagLayout layout1 = new GridBagLayout(); p1.setLayout(layout1); GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; layout1.setConstraints(text, gbc); p1.add(text); JButton decidebutton = new JButton("決定"); gbc.gridy = 1; layout1.setConstraints(decidebutton, gbc); p1.add(decidebutton); getContentPane().add(p1, BorderLayout.CENTER); decidebutton.addActionListener(this); decidebutton.setActionCommand("決定"); } public void actionPerformed(ActionEvent e){ String cmd = e.getActionCommand(); if(cmd.equals("決定")){ String str = text.getText(); if(str == null){ JOptionPane.showMessageDialog(null, "NULL入力"); } else{ JOptionPane.showMessageDialog(null, "それ以外"); } } } } 以上のプログラムを実行したとき、「決定」ボタンを押した際に「NULL入力」と書かれたダイアログが出てくるのが望ましいのですが、 実際には「それ以外」と書かれたダイアログが出てきてしまいます。 getTextメソッドではnullを返せないのか、と思い、テキストフィールドに「あ」、「NULL入力」と書かれたダイアログを表示させる条件をif(str == "あ")にしたのですがそれでも駄目・・・。 独学では限界があると思い質問させて頂きました。 これについての解決の方法を知っている方、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • フォームについて教えて下さい!

    テキスト入力フォームのあるページ「form.html」を作るにあたって、以下のようなことを実現したいのですが方法が分かりません・・。 <やりたいこと> 「form.html」にアクセスすると、フォームの中に文字列「A」が表示されていて、フォームの中をクリックして入力可能状態にすると「A」の文字は消えるようにしたい。 例えば以下のページの左上にあるSEARCHフォームのようにしたいのです。 http://www.cnn.com/feedback/ 「SEARCH」と表示されたフォームの中をクリックすると「SEARCH」の文字は消えますよね。その後フォームの中の選択を外すと、再び「SEARCH」の文字が現れますが、これと同じ事を、複数行入力のテキストエリアで実現したいのです。 上記サイトの見様見真似で以下のように作ってみましたが、上手くいきませんでした↓ <TEXTAREA name="aaa" value="A" onfocus="if(this.value=='A'){this.value='';}" onblur="if(this.value==''){this.value='A';}"> </TEXTAREA> <実行結果> 1.「form.html」にアクセスした時に「A」は表示されていない。 2.フォームの中をクリックして選択した後、再び選択を外すと、 「A」は表示される。 自分がしたいのは、上記の参考サイトのように初めから「A」を表示させていたいのです。 どうすればいいのでしょうか? 分かる方いらっしゃたら是非教えて下さい!

  • JavaがDLしてあるのに動きません。

    JavaをDLして、セキュリティレベルも一番低くしています。 なのにJavaが使われているHPが使えなかったり、▼を押して選択するフォームの中の文字が消えていたりします。 他にどのような設定をすれば動くのでしょうか??それともパソコンがこしょうしているのでしょうか?? JavaのHPでインストールの確認をしても動きませんでした。ですが、ソフトはちゃんと入っています。どうやったか忘れましたが、タスクバー(?)にもJavaのマークが載った時もありますし、ProgramfilesにもJavaがあります。

  • JavaがDLしてあるのに動きません。

    JavaをDLしてセキュリティレベルも一番低くしています。 なのにJavaが使われているHPが使えなかったり、▼を押して選択するフォームの中の文字が消えていたりします。 他にどのような設定をすれば動くのでしょうか??それともパソコンがこしょうしているのでしょうか?? JavaのHPでインストールの確認をしても動きませんでした。ですが、ソフトはちゃんと入っています。どうやったか忘れましたが、タスクバー(?)にもJavaのマークが載った時もありますし、ProgramfilesにもJavaがあります。

  • Javaプログラミングについて

    javaプログラミングについてお伺いしたいことがあり、質問させて頂きました。 初めての質問となりますが、何卒宜しくお願いします。 今私はある動物の遺伝子IDリストをcsvファイルとして持っており、これらをヒトの対応する遺伝子に変換したいと考えています。 そのような変換サイトは存在するのですが、そのサイトでは、1ずつの遺伝子に対して (1)フォームに遺伝子IDを入力する。 (2)検索ボタンをクリック。 (3)検索結果の中からヒトというキーワードを含むリンクをクリックする。 (4)クリック先のページの中で、ページに一つしか存在しないXXXという文字列の直後から6文字を読み取る。 (5)読み取った6文字を表計算ファイル(あるいはcsvファイル)に打ち込む。 という操作を繰り返す必要があり、以前少しだけ触ったことのあるjavaによって負担を解消出来ればと考えました。 (5)に関しては(4)で文字列として代入した変数を出力することで可能だと思うのですが、(1)~(4)についての方法が分かりません。 自分なりに調べたつもりなのですが、どうも良く分かりませんでした。 どなたか方法やヒントなどご存知の方がいらっしゃいましたら、どこか一部でも構いませんので御教授して頂けると幸いです。

    • ベストアンサー
    • Java
  • Javaのエラーについて

    はじめて利用させていただきます。 Javaが使われているサイトを利用したいのですが、 Javaを新しくインストールしてもエラーになってしまい、大変困っております。 【内容】 ・Javaが使われているページ部分が白くなり、左上に 「エラー。クリックして詳細を確認してください」と文字が表示されます。 ・文字をクリックすると、 アプリケーション・エラー ClassNotFoundException testJava2_1.TestVMApplet.class [詳細][無視][リロード] と書かれた小さなメッセージが表示されます。 ・[詳細]のボタンをクリックすると、 Javaコンソールという見出しのついた小さなメッセージが表示されます。 メッセージの内容が、専門用語ばかりで困っております・・・ Javaのサイトにある解決方法も全て試してみたのですが、 変わらずエラーになってしまうので、此方にて教えて頂けると助かります。 使用PCはWindows7です。 PC初心者のため専門用語も分からず、理解に苦しむ質問かと思いますが、 よろしくお願いいたします!