如何获得从JTextField里输入的内容

starli22 2007-06-07 11:22:53
想要写一个小程序,主要是想实现从文本域输入一个班学生某门课程的成绩,并将不及格人数的平均分输出.但是无法解决如何从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);
}

}
...全文
3737 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wunan320 2007-06-11
  • 打赏
  • 举报
回复
jTextArea.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e) {
//do something;
}

public void keyReleased(KeyEvent e) {
//do something;
}
});
zhjh5555 2007-06-11
  • 打赏
  • 举报
回复
AWT的事件分为低级(LOW—LEVEL)事件和语义事件,语义事件是指表达用户动作的事件,如点击按钮,ActionEvent是一种语义事件,低级事件是指形成那些事件的事件,在点击按钮时,包含了按下鼠标,连续移动鼠标,抬起鼠标等一系列事件,或用TAB选择按钮,再用空格键激活它时发生的键盘事件。实现 ActionListener 接口的对象在发生事件时获得 ActionEvent。因此,侦听器不必处理个别鼠标移动和鼠标单击的细节,而是可以处理像“按下按钮”这样的“有意义”(语义)事件。

actionListener接口参数ActionEvent是语义事件类,事件源来自AbstractButton,JComboBox,JTextField,Timer...;
KeyEvent是低级事件类,事件源来自Component.
starli22 2007-06-11
  • 打赏
  • 举报
回复
不是很懂,先试试.谢谢
starli22 2007-06-10
  • 打赏
  • 举报
回复
我知道jTextField.getText();可以从文本域里获得输入,但还是不知道actionListener与键盘事件的区别
d289522401 2007-06-10
  • 打赏
  • 举报
回复
jTextField.getText();
这个就是的啊
starli22 2007-06-10
  • 打赏
  • 举报
回复
还有没有人说说actionListener与键盘事件的区别
haisenmai 2007-06-09
  • 打赏
  • 举报
回复

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();
}

}
richard_2010 2007-06-09
  • 打赏
  • 举报
回复
代码不是写在keyReleased(KeyEvent e)里面的吧?
starli22 2007-06-08
  • 打赏
  • 举报
回复
就是找不到,并且也不知道正确使用,才这里的
rainingblue 2007-06-08
  • 打赏
  • 举报
回复
事件方法你自己去找就好,
String s;
s=jTextField.gettext()可以得到
starli22 2007-06-08
  • 打赏
  • 举报
回复
我上面也用了,可是输出来什么东西也没有啊.还想问一下actionListener与键盘事件有什么区别呢?
xjh22899563 2007-06-08
  • 打赏
  • 举报
回复
同意楼上的
liumangaixue 2007-06-08
  • 打赏
  • 举报
回复
把actionListener事件加到jTextField不就可以触发了,或者如果想用键盘事件用addKeyListener,把actionPerform方法换成
public void keyReleased(KeyEvent e){
if(e.getKeyCode()==e.VK_ENTER){ 就是回车,楼主可以自己试试,一点建议很粗浅,希望有所帮助
backhead 2007-06-08
  • 打赏
  • 举报
回复
jTextField.getText();才行的
jacklvkena 2007-06-08
  • 打赏
  • 举报
回复


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

JTextField.getText()
知道目录后,可以列出该目录下所属的文件 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; //列出目录下的文件 public class ListFileDemo extends JFrame{ JTextField jtfPath; //路径输入文本域 JTextArea jtfShow; //显示目录下的内容 public ListFileDemo(){ super("列出目录下的文件"); Container container=getContentPane(); //得到容器 jtfPath=new JTextField(16); //实例化路径输入文本框 JButton jbGo=new JButton("转到"); //实例化"转到"按钮 jtfShow=new JTextArea(); //实例化显示内容文本框 jtfPath.addActionListener(new ShowDirListener()); //增加事件处理 jbGo.addActionListener(new ShowDirListener()); JPanel panel=new JPanel(); //实例化面板,用于增加路径输入和按钮 panel.add(jtfPath); panel.add(jbGo); container.add(panel,BorderLayout.NORTH); //增加组件到容器 JScrollPane jsp=new JScrollPane(jtfShow); jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //设置边界 container.add(jsp,BorderLayout.CENTER); setSize(300,200); //设置窗口尺寸 setVisible(true); //设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } class ShowDirListener implements ActionListener { //取得目录内容的事件处理 public void actionPerformed(ActionEvent event) { showDirContent(jtfPath.getText()); //调用显示目录内容方法 } } public void showDirContent(String path){ //该方法实现取得目录内容 File file=new File(path); //用路径实例化一个文件对象 File[] files=file.listFiles(); //重点:取得目录内所有文件列表 StringBuffer message=new StringBuffer(); //实例化一个StringBuffer,用于处理显示的字符串 message.append(path); //增加信息 message.append(" 内容如下:\n"); for (int i=0;i\t"); //增加目录标识 } else{ message.append("\t"); } message.append(files[i].getName()); //增加文件或目录名 message.append("\n"); } jtfShow.setText(new String(message)); //显示消息 } public static void main(String[] args){ new ListFileDemo(); } }
Java代码编写的简单网页浏览器,仿IE基础功能,只能解析标准的HTML文件,现在流行的HTML5格式不能解析。使用方法:可直接输入文件名或网络地址,但必需事先连入网络。   JTextField jtfAddress; //输入html文件地址或网址   JButton jbGo; //转到文件按钮   JTextPane jtpShow; //显示文件   JLabel jlInfo; //提示信息   public HTTPBrowserDemo(){    super("html浏览器"); //调用父类构造函数    jtfAddress=new JTextField(20); //实例化地址输入框    jbGo=new JButton("转到"); //实例化转向按钮    jtpShow=new JTextPane(); //实例化显示内容框    jlInfo=new JLabel(); //实例化信息提示标签    JPanel panel=new JPanel(); //实例化面板    panel.add(new JLabel("地址")); //增加组件到面板上    panel.add(jtfAddress);    panel.add(jbGo);    JScrollPane jsp=new JScrollPane(jtpShow); //实例化滚动窗体    Container container=getContentPane(); //得到容器    container.add(panel,BorderLayout.NORTH); //增加组件到容器上    container.add(jsp,BorderLayout.CENTER);    container.add(jlInfo,BorderLayout.SOUTH);    jbGo.addActionListener(new ShowHTMLListener()); //事件处理,发生按钮点击时显示页面内容    jtfAddress.addActionListener(new ShowHTMLListener());    setSize(350,280); //设置窗口尺寸    setVisible(true); //设置窗口可视    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序   }   class ShowHTMLListener implements ActionListener { //显示页面内容事件处理    public void actionPerformed(ActionEvent event) {    try{    jlInfo.setText("正在连接..."); //显示提示信息    URL address=new URL(jtfAddress.getText()); //得到HTML页面的URL地址    jtpShow.setPage(address); //设置显示页面    jlInfo.setText("完成");    }    catch (Exception ex){    jlInfo.setText("连接出错");    ex.printStackTrace(); //输出出错信息    }    }   }

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧