想要写一个小程序,主要是想实现从文本域输入一个班学生某门课程的成绩,并将不及格人数的平均分输出.但是无法解决如何从JTextField里获得输入的内容各响应键盘事件,如回车等.本人末完成小程序如下:
import java.applet.*;
import java.io.*;
import java.lang.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class Shiyan10A extends Applet{
JFrame f=new JFrame("成绩");
Container contentPane;
JLabel []la1 =new JLabel[2];
String str=new String();

JTextField []num1=new JTextField[2];
void addActionListener(ActionListener e){

}

public void init(){
try{
contentPane=f.getContentPane();
contentPane.setLayout(new FlowLayout(FlowLayout.CENTER,10,10));
   


for(int i=0;i<2;i++){
la1[i]=new JLabel("num"+i);
    contentPane.add(la1[i]);
    num1[i]=new JTextField(4);
contentPane.add(num1[i]);

str=str+num1[i].getText();
}



f.pack();
f.setVisible(true);
f.setSize(300,300);
}catch(Exception e){}
}
public void Paint(Graphics g){
        g.drawString(str,50,50);
}

}

解决方案 »

  1.   

    事件方法你自己去找就好,
    String s;
    s=jTextField.gettext()可以得到
      

  2.   

    把actionListener事件加到jTextField不就可以触发了,或者如果想用键盘事件用addKeyListener,把actionPerform方法换成
    public   void   keyReleased(KeyEvent e){                     
    if(e.getKeyCode()==e.VK_ENTER){   就是回车,楼主可以自己试试,一点建议很粗浅,希望有所帮助
      

  3.   

    想获取JTextField中的内容,调用其getText()就可以,返回值是String类型JTextField.getText()
      

  4.   

    我上面也用了,可是输出来什么东西也没有啊.还想问一下actionListener与键盘事件有什么区别呢?
      

  5.   


    import java.applet.*;
    import java.io.*;
    import java.lang.*;
    import java.util.*;
    import java.awt.event.*;import javax.swing.*;
    import java.awt.*;
    public class Shiyan10A extends Applet implements KeyListener {
    JFrame f=new JFrame("成绩");
    Container contentPane;
    JLabel la1 =new JLabel();
    String str=new String();
    JLabel result =new JLabel("成绩结果");JTextField num1;
    int unpass = 0;
    int total = 0;
    float avg ;
    void addActionListener(ActionListener e){} 
    public   void   keyReleased(KeyEvent e){                     
    if(e.getKeyCode()==e.VK_ENTER){  
    this.repaint();
     
    int score =Integer.parseInt(""+num1.getText());
    if (score <60){
    unpass++;
    total += score;

    }
    if(unpass != 0){
    avg = total/unpass;
    result.setText("目前"+unpass+"人不及格,他们平均分是:"+avg);

    f.repaint();  
    contentPane.repaint();
     
    }
    }
    public void init(){
    try{
    contentPane=f.getContentPane();
    contentPane.setLayout(new FlowLayout());
    num1=new JTextField(4);
    contentPane.add(num1); 
    contentPane.add(result);
    num1.addKeyListener(this);
     
    f.pack(); 
    f.validate();
    f.setVisible(true);
    f.setSize(600,300);
    }catch(Exception e){}
    }
    public void Paint(Graphics g){
     
    }
    public void keyPressed(KeyEvent arg0) {
    // TODO Auto-generated method stub
    this.repaint();
    }
    public void keyTyped(KeyEvent arg0) {
    // TODO Auto-generated method stub
    this.repaint();
    } }
      

  6.   

    代码不是写在keyReleased(KeyEvent e)里面的吧?
      

  7.   

    还有没有人说说actionListener与键盘事件的区别
      

  8.   

    jTextField.getText();
    这个就是的啊
      

  9.   

    我知道jTextField.getText();可以从文本域里获得输入,但还是不知道actionListener与键盘事件的区别
      

  10.   

    AWT的事件分为低级(LOW—LEVEL)事件和语义事件,语义事件是指表达用户动作的事件,如点击按钮,ActionEvent是一种语义事件,低级事件是指形成那些事件的事件,在点击按钮时,包含了按下鼠标,连续移动鼠标,抬起鼠标等一系列事件,或用TAB选择按钮,再用空格键激活它时发生的键盘事件。实现 ActionListener 接口的对象在发生事件时获得 ActionEvent。因此,侦听器不必处理个别鼠标移动和鼠标单击的细节,而是可以处理像“按下按钮”这样的“有意义”(语义)事件。 actionListener接口参数ActionEvent是语义事件类,事件源来自AbstractButton,JComboBox,JTextField,Timer...; 
    KeyEvent是低级事件类,事件源来自Component.
      

  11.   

    jTextArea.addKeyListener(new KeyAdapter(){
      public void keyTyped(KeyEvent e) {
        //do something;
      }  public void keyReleased(KeyEvent e) {
        //do something;
      }
    });