プロが教えるわが家の防犯対策術!

ダイアログボックスの出し方でお聞きした者です。
今回InputBoxも作ろうと思っているのですが、
これがなかなか思うようにいきません!

やりたい事
1.「入力してください」のメッセーが一番上に出る。
2.テキストボックスがでる。
3.OKボタンとCancelボタンがでる。
4.Okを押すとテキストに入力した値が
他のテキストに貼り付けられる。

3までは出来ているみたいなのですが、
4が出来ません!

そこで、お願いです。
何方か分かる方おられましたら宜しくお願いいたします。

うぅ~~800文字以上???

↓↓↓ユーザークラス↓↓↓
myDialog d;
d=new myDialog(new Frame());
d.init("入力してください!");
↑↑↑ユーザークラス↑↑↑

↓↓↓ソース↓↓↓
public class myDialog extends Dialog{
Label msg;
public myDialog(Frame parent){
super(parent,"My Dialog",true);
//add("Center",msg=new Label(""));
Panel p=new Panel(); //パネル設定
p.setLayout(new GridLayout(1,2)); //パネルの作成
TextField tf; //テキストフィールドの設定
add(tf=new TextField("",20)); //テキストフィールドの作成
tf.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
TextField t=(TextField) e.getSource();
//msg.setText(t.getText());
}
});
ーーーここで、ボタンOK Cancelの設定ーーー
public void init(String s){
msg.setText(s);
setSize(300,150);
setVisible(true);
}
}
↑↑↑ソース↑↑↑

A 回答 (2件)

Poseidonさん、こんにちわ。



#1の方が書いているように、「OKボタンのクラス」が見当たらないので、
Button okBtn = new Button();
とさせてもらいます。
それと、やはり#1の方が書いているように、
tf.addActionListener(new ~
はテキストフィールド上でマウスのクリック(だったかな?)
のようなアクションを起こしたときに呼ばれる部分ですので、
ボタンに対して同じような処理を施す必要がありますね。

Button okBtn = new Button(); // OKボタン
TextField inField = new TextField("", 20); // 入力域
TextField outField = new TextFIeld("", 20); // 出力域
 .
 .
okBtn.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent ae) {
  outField.setText(inField.getText());
 }
});

Javaの本見ながらではないんで動くかどうかは分かりませんが、
こんな感じで良いと思います。

頑張ってください!
    • good
    • 0
この回答へのお礼

sueoka & ct27様

お返事ありがとうございます。
インプトダイアログボックスの方できました。
ご迷惑をおかけしました。

OK & Cancelボタンのところは800文字と言われたので
省略いたしました

もしかして一番重要だったのですか?

また何かありましたら宜しくお願いいたします。

お礼日時:2001/08/30 14:14

記載のソースにOKボタンとCancelボタンの記述がないような気がするのは


気のせいなのでしょうか・・・記載漏れでしょうか?
ちなみにtf.addActionListener(new ActionListener~の部分は
テキストフィールドのイベントですが、もしかしてこれとOKボタンのアクション
を間違えているとかではないですよね?
どぉでしょぉ?
    • good
    • 0

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