亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按下按鈕時清除 TextField - Java Applet

按下按鈕時清除 TextField - Java Applet

交互式愛情 2023-10-12 17:08:14
我有一個用于登錄表單的 Java Applet。它有2 TextFields,用戶名和密碼。我需要點擊Reset按鈕清除它們。這是我寫的代碼。  public class LoginForm extends Applet implements ActionListener  {    TextField name, pass, hidden;    Button b1, b2;    public void init()    {        name = new TextField(20);        pass = new TextField(20);        b2 = new Button("Reset");        add(name);        add(pass);        add(b2);        b2.addActionListener(this);    }    public void paint(Graphics g)    {        g.drawString("Hello", 10, 150);    }    public void actionPerformed(ActionEvent e) {        System.out.println(e);        name.setText("");        pass.setText("");        repaint();    }  }但這不能正常工作。一旦我單擊Reset按鈕,該actionPerformed()方法就會被調用,并且它還會調用repaint(). (我可以看到顯示“Hello”)。但文本字段不會被清除。如果我進行以下更改actionPerformed        name.setText(" ");  // please note the spaces        pass.setText(" ");然后就可以了。但我不想要那里有空格。我希望文本字段變為空白。任何幫助表示贊賞。
查看完整描述

2 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

也許這不是一個好的解決方案,但這是一個解決方法。在設置文本調用getText方法之前,它將重置。很奇怪!

public void actionPerformed(ActionEvent e) {

? ? System.out.println(e);

? ? name.getText();

? ? pass.getText();


? ? name.setText("");

? ? pass.setText("");


? ? repaint();

? ? revalidate();

}

另一個解決方案是設置帶有空格的文本。但如果您有類似于密碼的字段,其中包含setEchoChar('*').


public void actionPerformed(ActionEvent e) {

? ? System.out.println(e);


? ? name.setText(" ");

? ? pass.setText(" ");


? ? repaint();

? ? revalidate();

}


查看完整回答
反對 回復 2023-10-12
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

只需在文本字段中輸入空白即可。


public void actionPerformed(ActionEvent e) {

    name.getText();

    pass.getText();

    name.setText("");

    pass.setText("");

    repaint();

    revalidate();

}


查看完整回答
反對 回復 2023-10-12
  • 2 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號