import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Gettextcontent extends Applet 
{
TextArea ta=null;//显示文件内容
TextField tf=null;//文件路径
Label L1=null;
Label L2=null;
Button bt_filepath=null;
Button bt_disp=null;
////////////////////
FileReader fis=null;
BufferedReader dis=null;
public void init()
    {
     ta=new TextArea("welcome...",20,30);
L1=new Label("文件路径");
tf=new TextField(15);
bt_filepath=new Button();
bt_disp=new Button();
bt_disp.setLabel("显示文件");
bt_filepath.setLabel("文件路径");
add(L1);
add(bt_filepath);
add(tf);
L2=new Label("文件内容");
add(L2);
add(bt_disp);
add(ta);
try 
{
 String path = tf.getText().trim();
 fis = new FileReader(path);
     dis = new BufferedReader(fis);
}
catch (Exception ex) 
{
}

  }
public void paint()
{
tf.addKeyListener(new KeyListener()
{
public void keyPressed(KeyEvent e)
{

}
public void keyReleased(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
 int m=0;
if(m==e.VK_F1)
{
try
  {
  String str=null;
  while((str=dis.readLine())!=null)
  {
  System.out.println(str);
  ta.setText(ta.getText()+str);
  }
  }
  catch(Exception ex){}  
}
else 
{
ta.setText("I love you");
}
}
});
}
}
为啥按了F1都没反应呢?

解决方案 »

  1.   

    不要重写paint方法,把下面的代码加到init里面tf.addKeyListener(new KeyListener()
    {
    public void keyPressed(KeyEvent e)
    {
        int m=0;
    if(m==e.VK_F1)
    {
    try
    {
    String str=null;
    while((str=dis.readLine())!=null)
    {
    System.out.println(str);
    ta.setText(ta.getText()+str);
    }
    }
    catch(Exception ex){} 
    }
    else
    {
    ta.setText("I love you");
    }
    }
    });}
    public void keyReleased(KeyEvent e)
    {
    }
    public void keyTyped(KeyEvent e)
    {}
    事件处理放在keyPressed方法里