今JAVAアプレットでプログラムを作っています。

Choice・TextArea等のオブジェクトを作り、配置してあります。
それぞれブラウザ上で選択・入力をするわけですが、入力ミスや選択ミス、再
度選択しなおしなどが発生した時、リセットボタンを押して選択したものを全
てデフォルトに戻したいんです。HTMLの「input type="reset"」と同じよう
な働きをさせたいんです。
色々調べたのですが、調べ方が悪いのか、情報がなくて困っています。

おわかりになるかた教えてください。よろしくお願いします

A 回答 (2件)

TextArea textArea = new TextArea();


で作ったtextAreaに文字書きこんだあとでまっさらにしたいのなら、
textArea.setText("");
初期値が"hogehoge"なら
textArea.setText("hogehoge");

初期値設定してるところでやっていることと同じことを
すればいいだけで、
同じコード書くのは無駄だから、
最初から「初期値設定メソッド」を切り分けておいて、
initのなかでもリセットボタンが押されたときの処理でも
初期値設定メソッドを呼び出せばよいですよー。

というのはKanataさんと同じこと言ってるですね。
失礼しましたm(__)m

と、思ったのですが、TextAreaのメソッドみてたら、
文字列を「追加」する
append(String str)
は載っていても、文字列を「設定」する
setText(String t)
は載っていないのですね。
「調べられなかった」てこれでしょか?
TextAreaはTextComponentを継承していますので、
TextComponentのメソッドも使えるです。
使いたい部品に欲しいメソッドがなければ
親クラスのメソッドも探してみるです。
setTextはTextComponentのメソッドです、
ってそゆこと言ってるではないですか?(^_^;)
意図組んでませんでしたらごめんなさいm(__)m
    • good
    • 0

最近アプレットには触っていないので、確実か


どうか分かりませんが、私ならば以下のように
行います。
1.init()関数でTEXTAREAなどを初期化するので、
 そのために初期化用の関数を作成する。
 #initialize()とか。init()関数では他の
 #処理も必要になるので、別関数が都合がよい。
2.リセットしたいボタンにinitialize()関数を
 呼び出す処理を書く。

これだけでいいと思いますが・・・
ではでは☆
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qimport java.applet.Applet;について

ソースの先頭にimport java.applet.Applet;と書かれたソースをコンパイルすると、ローカルのjava.applet.Appletを読み込んで*.classを作るのだと思うのですが、java.applet.Appletが見つかりません。
普通はどのあたりにあるのでしょうか?

Aベストアンサー

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。

具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時には上記のJRE側の rt.jar が使用されます。

ですから、コンパイル時、あるいは実行時にそれぞれのディレクトリに rt.jar がないとエラーが発生します。

ちなみに rt.jar の中身を確認したいのであれば、下記のコマンドをコマンドプロンプトから実行し、出力先のファイルをテキストエディタで開くと確認できます。

 cd C:\j2sdk\jre\lib   ← ディレクトリ移動

 jar tvf rt.jar > C:\Temp\result.txt ← rt.jarの中身をテキストファイルに出力

 notepad C:\Temp\result.txt   ← メモ帳で出力結果を表示


 出力結果のファイルには、java.applet.Appletであれば "java/applet/Applet" のように "." が "/" に置き換わって出力されています。

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。

具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時...続きを読む

QINPUTの内容をフォームの送信先に指定したいのですが、やり方がわかり

INPUTの内容をフォームの送信先に指定したいのですが、やり方がわかりません。

検索機能をつけようとしています。
例えば
『ほげほげ』と入力し検索ボタンを押すと、
『key/ほげほげ.html』というファイルを呼び出す。
という風にしたいと思っているのですが、どのようにすればいいのかわからず行き詰っていまってしまいました。
なお、『key/ほげほげ.html』というファイルが呼び出すことができれば、.htaccessで検索できるところまでは完成しているのですが、フォームの送信のところで行き詰っていますす。

ご存知の方がいらっしゃいましたら、お手数ですがご教示ください。
よろしくお願いいたします。

Aベストアンサー

INPUTの内容の取得は
<input type='text' id='key'></input>
に対して

 document.getElementById('key').value

で取得出来ます。

ボタンを押したとき、javascriptの関数を実行するのは、

 <button onclick='func();'>検索</button>

 function func(){
  ---------------
 }

です。

ページ呼び出しなら、

 location.href = URL;

とか、フォームのサブミットを使うなら

 form.action = URL;
 form.submit();

で.......

Q-Applet表示でのjava.lang.ClassNotFoundException-

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/applet/AppletPanel.securedCall0 (AppletPanel.java)
at com/ms/applet/AppletPanel.securedCall (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.run (AppletPanel.java)
at java/lang/Thread.run (Thread.java)

・・・と、表示されています。

クラスパスの問題であれば、「appletviewer」でも動かないだろうし・・・何が問題なのでしょうか??

・・・行き詰まってます。

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/app...続きを読む

Aベストアンサー

>AppletTest.java:1: パッケージ com.sun.java.swing は存在しません。
import com.sun.java.swing.*;

パッケージ com.sun.java.swingは、swingall.jarにあります。
>javac -target 1.1 -classpath swingall.jar AppletTest.java
のように指定しているようですが、

C:\java\appletに、swingall.jarはありますか?

私が示している例を、分からないまま、そのまま実行するのではなく、
自分の環境に合わせて実行してくださいね。

Qで、Q1に後で値を設定して表示するには

お世話になります。
<input type="text" name="Q1">で、Q1に後で値を設定して表示するにはどうしたら良いものでしょうか。
name="Q1"
と、しているので、
onMousedown="function()"
で、nameでしてしたエリアに値を書き込めば、できると思うのですが、
このfunction()をどのように書いたらよいものか、いろいろ調べてもわかりません。
何とかご教示願えないでしょうか。
よろしくお願いします。

Aベストアンサー

javascriptを利用することで出来ます。
こんな感じで動くでしょう。
ちなみにテキストボックスなどをjavascriptで操作する場合は
idをつけておくと便利です。

これ以上をやりたいというのであれば
参考URLなど見て勉強してみてください
<html>
<head>

</head>
<body>

<input type="text" id="Q1" name="Q1" onmousedown="hoge()">
</body>
<script type='text/javascript'>
function hoge()
{
Q1.value = ""; //""のなかに設定する値
}
</script>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javasc21.htm

QFirefoxでJava Appletが表示できません

掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。
各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。

== Firefox 2.0 の Javaコンソール出力 ===
Java Plug-in 1.5.0_12
使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

== Internet Explorer 7 の Javaコンソール出力 ===
Java Plug-in 1.6.0_05
使用中の JRE のバージョン 1.6.0_05 Java HotSpot(TM) Client VM

掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。
各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。

== Firefox 2.0 の Javaコンソール出力 ===
Java Plug-in 1.5.0_12
使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defin...続きを読む

Aベストアンサー

このページを読んでください。
http://plugindoc.mozdev.org/windows.html#Java
1.5を、コントロールパネルを使ってアンインストールしてください。
上のページの、Known Issuesのリンクも、読んでください(主にFireFox 3のことが多いが)。

QChoiceから選択して文字列を取得

Choiceで選択した項目をテキストフィールドに表示させたいのですが、文字列の取得ができないようです。
お助け下さい。よろしくお願い致します。(;_;)

import java.awt.*;
import java.awt.event.*;

public class ChoiceTest extends Frame implements ItemListener{

TextField jt;
Choice ch;
Label titleLabel;
String cData[]={"サッカー","バレーボール","柔道","水泳","バスケット
ボール","野球"};

public static void main(String[] args){

ChoiceTest f=new ChoiceTest();

f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{System.exit(0);}
});
f.setVisible(true);
}
ChoiceTest(){
setTitle("リストメニュー");
setSize(300,200);

titleLabel=new Label("選んでください");

Choice ch=new Choice();
for(int i=0; i<cData.length; i++)
{
ch.addItem(cData[i]);
}
ch.addItemListener(this);


jt=new TextField("ここに表示");

add(titleLabel,BorderLayout.NORTH);
add(ch,BorderLayout.CENTER);
add(jt,BorderLayout.SOUTH);
}
public void itemStateChanged(ItemEvent e)
{

if (e.getItemSelectable() == ch)
{
jt.setText(ch.getSelectedItem());
}

}
}

Choiceで選択した項目をテキストフィールドに表示させたいのですが、文字列の取得ができないようです。
お助け下さい。よろしくお願い致します。(;_;)

import java.awt.*;
import java.awt.event.*;

public class ChoiceTest extends Frame implements ItemListener{

TextField jt;
Choice ch;
Label titleLabel;
String cData[]={"サッカー","バレーボール","柔道","水泳","バスケット
ボール","野球"};

public static void main(String[] args){

...続きを読む

Aベストアンサー

こんばんは。
イージーミスのようです。

> Choice ch=new Choice();

コンストラクタ内でもう一度"ch"を宣言してしまっています。
なのでインスタンス変数の"ch"はnull(空)のままです。

ch = new Choice();

とすればうまくいくと思います。

QInternet Explorer で動かないJava Applet?

Java Applet を作りました。
モジラでは問題なく動いたのですが、Internet Explorer (V6.0) では動きませんでした。IEの問題かな、とも思ったのですが、他の人の作ったアプレットは動いているようです。

Javaコンソールには次のようなメッセージが出ていました。
----------------------
Error loading class: myClientApplet1
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException:
myClientApplet1
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
----------------------

モジラで動いて IE で動かないというのが良く分からないのですが、プログラミングの改善方法など、アドバイスをいただけないでしょうか?
(バージョンの古いIEだと動いているようです)

Java Applet を作りました。
モジラでは問題なく動いたのですが、Internet Explorer (V6.0) では動きませんでした。IEの問題かな、とも思ったのですが、他の人の作ったアプレットは動いているようです。

Javaコンソールには次のようなメッセージが出ていました。
----------------------
Error loading class: myClientApplet1
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException:
myClientApplet1
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader....続きを読む

Aベストアンサー

IEにはそのプログラムをコンパイルしたJ2sdkのバージョンと合うJREがインストールされていないとか!?
あと,ツール→インターネット オプション→詳細設定 でJREのところにチェックが入っていないとか!?
ありふれた回答ですいませんm(__)m

Qtextareaの選択された文字列の取得

HTMLエディタを作ろうとしています。

textAreaの選択された文字列の開始桁数・終了桁数を取得するにはどのようにすればよいのでしょうか?

var selected_text;
if (document.getSelection) // Moz
{
selected_text = document.getSelection();
}
else if (document.selection && document.selection.createRange) // IE
{
rng = document.selection.createRange();
selected_text = rng.text;
}
alert(selected_text);

これで、選択された内容は取得できたのですが、初めと終了の桁数が取れていません。
クロスブラウザに対応したく、IE6以上、FF3、Opera9.5、Safari3.1、Choromeにて動作を確認したいのですが、お分かりになる方いましたら、よろしくお願いします。

HTMLエディタを作ろうとしています。

textAreaの選択された文字列の開始桁数・終了桁数を取得するにはどのようにすればよいのでしょうか?

var selected_text;
if (document.getSelection) // Moz
{
selected_text = document.getSelection();
}
else if (document.selection && document.selection.createRange) // IE
{
rng = document.selection.createRange();
selected_text = rng.text;
}
alert(selected_text);

こ...続きを読む

Aベストアンサー

http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi?mode=view&no=1886

Qandroidアプリとjava Appletで

お世話になっています。

ゲームを作る際のことで、
androidでゲームを作るのと、java Appletでゲームをつくるというのは、
作業工程は同じなのでしょうか?

つまり、本来 java Appletでできるものは、androidでもクラスなどの違いはあっても動く、
と言うことなのでしょうか?

お願いします。

Aベストアンサー

Androidアプリを書く際、GUIの部品はほぼすべてAndroid用のクラスになっています。
ケータイのJavaアプリとJava Appletが全然別物のように、Androidもまた
別物と考えるべきかと思います。

> クラスなどの違いはあっても動く、

ある意味動くと言えます。
でも使うUIのクラスが全く違うのですから、UI寄りのコードは全く別物になってしまうと思います。

まったく1から設計した自作クラスならどちらでもそのまま動くと思います。

ゲームであれば、OpenGLベースにすれば多くのコードは簡単に移植できるかもしれません。
やったことないですけど。

QINPUTで入力された値やSELECTで選択された値の取得

以下のようなHTMLで出力されるページにおいて入力された値を取得したいと思っております。

<div id="div1">
現在<input type="text" name="TXT1" id="TXT1" size="10">が入力されています。
<br>
現在<select size="1" name="SLCT1" id="SLCT1">
<option>項目1</option>
<option>項目2</option>
<option>項目3</option>
</select>が選択されています。
</div>


値を取得するには
v1 = document.getElementById("TXT1").value
で取得できるのはわかっているのですが

たとえば、TXT1に「文字列1」を入力し、SLCT1で「項目2」を選択している状態で、

"現在文字列1が入力されています。現在項目2が選択されています。" のようにDIV1の中に表示されている文字列全体を取得することはできるのでしょうか。

IEでinnerTEXT、FirefoxでtextContentを利用して取得を試みたのですが、うまくいきません。
何かいい方法があればご教授願えますでしょうか。

現在想定している状況ですと、DIVの中に配置されるINPUTやSELECTの数なども不定でして、それら要素のidも不定であります。

よろしくお願いいたします。

以下のようなHTMLで出力されるページにおいて入力された値を取得したいと思っております。

<div id="div1">
現在<input type="text" name="TXT1" id="TXT1" size="10">が入力されています。
<br>
現在<select size="1" name="SLCT1" id="SLCT1">
<option>項目1</option>
<option>項目2</option>
<option>項目3</option>
</select>が選択されています。
</div>


値を取得するには
v1 = document.getElementById("TXT1").value
で取得できるのはわかっているのですが

たとえば、TXT1に「文字...続きを読む

Aベストアンサー

divの子供ノードを取ってnodeValue != nullならnodeValue。
nodeValue == nullでそのノードのnodeNameがbr以外の時valueを参照し順番に足し算したら如何でしょうか。

記憶が曖昧ですがDOMにはchildrenがありますが、ELEMENT NODEしか取れないかもしれません。
もしそうなら下の方法でTEXT NODEも取れるようにすれば良いですね。

children(document.getElementById("div1"))
function children(e){
var childern = []
var o = e.childNodes
for(var i = 0;i < o.length;i++){
if(o[i].parentNode == e){ children.push(o[i]) }
}
return childern
}


そうするとchildernには
childern[0].nodeName #text
childern[0].nodeValue 空白
実際の文字 \n

childern[1].nodeName #text
childern[1].nodeValue 現在
実際の文字 現在

childern[2].nodeName input(IEでは大文字で返しFirefoxでは小文字で返すと思いますのでnodeNameを比較する時はtoLowerCase()などで小文字か大文字に変えて比較すると良いかも知れません)
childern[2].nodeValue null
childern[2].value 入力された文字

childern[3] nodeName #text nodeValue が入力されています。 実際の文字 が入力されています。
childern[4] nodeName br nodeValue null
childern[5] nodeName #text nodeValue 空白 実際の文字 \n
childern[6] nodeName #text nodeValue 現在 実際の文字 現在
childern[7] nodeName select nodeValue null value 選択されている項目のvalue値

こんな感じになると思います。
\n,\r,\tはブラウザによって無視する場合も有りますが空白なので気にする必要はないと思います。

divの子供ノードを取ってnodeValue != nullならnodeValue。
nodeValue == nullでそのノードのnodeNameがbr以外の時valueを参照し順番に足し算したら如何でしょうか。

記憶が曖昧ですがDOMにはchildrenがありますが、ELEMENT NODEしか取れないかもしれません。
もしそうなら下の方法でTEXT NODEも取れるようにすれば良いですね。

children(document.getElementById("div1"))
function children(e){
var childern = []
var o = e.childNodes
for(var i = 0;i < o.length;i++){
if(o[i].parentNode == e...続きを読む


人気Q&Aランキング