怎样写JTextField的监听和处理事件

我是要得到JTextField里面输入的数字,用来以表格的行数和列数传递给函数画表格,可是不知道JTextField监听和处理事件怎么写,高手帮忙指点一下.... 我是要得到JTextField里面输入的数字,用来以表格的行数和列数传递给函数画表格,可是不知道JTextField监听和处理事件怎么写,高手帮忙指点一下. 展开
 我来答
forchenyun
推荐于2017-11-28 · TA获得超过586个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:459万
展开全部
首先,jTextField有不同于按钮等其它组件的监听器,通常不使用楼上所使用的监听器.
下面这段是处理的代码:
jTextField.getDocument().addDocumentListener(new javax.swing.event.DocumentListener(){
public void changedUpdate(DocumentEvent e) {//这是更改操作的处理
String s = jTextField.getText().trim();//trim()方法用于去掉你可能误输入的空格号
}
public void insertUpdate(DocumentEvent e) {//这是插入操作的处理
String s = jTextField.getText().trim();
}
public void removeUpdate(DocumentEvent e) {//这是删除操作的处理
String s = jTextField.getText().trim();
}
}
);
这样写的好处是可以实时监听,即你对文本框进行任意操作事件都会有响应.可以尝试在方法里写输出语句测试.
通过s获得输入结果后可以直接用于表格的输出.
ccm8730
2007-10-31 · TA获得超过254个赞
知道小有建树答主
回答量:533
采纳率:0%
帮助的人:476万
展开全部
我给你个程序你仔细的研究一下,看看怎么监听的和处理的。
主要是
jb1.addActionListener(this);
jb2.addActionListener(this);

这虽然是对按钮1、2的监听,但是效果是一样的。

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Kongh1 extends JApplet implements ActionListener
{
JTextField tf1= new JTextField(10);
JTextField tf2= new JTextField(10);
JTextField tf3= new JTextField(10);

JLabel lb1=new JLabel("first num:");
JLabel lb2=new JLabel("second num:");
JLabel lb3=new JLabel("result:");

JButton jb1=new JButton("Sure");
JButton jb2=new JButton("Cancel");

JPanel jp=new JPanel(new GridLayout(4,1,10,10));
JPanel jp1=new JPanel(new GridLayout(1,2,10,10));
JPanel jp2=new JPanel(new GridLayout(1,2,10,10));
JPanel jp3=new JPanel(new GridLayout(1,2,10,10));
JPanel jp4=new JPanel(new GridLayout(1,2,10,10));

public void init()
{Container cp=getContentPane();
FlowLayout layout=new FlowLayout();
cp.setLayout(layout);

tf3.setEditable(false);
tf3.setBackground(Color.pink);

jb1.addActionListener(this);
jb2.addActionListener(this);

jp1.add(lb1);
jp1.add(tf1);
jp2.add(lb2);
jp2.add(tf2);
jp3.add(lb3);
jp3.add(tf3);

jp4.add(jb1);
jp4.add(jb2);

jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
jp.add(jp4);
cp.add(jp);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
tf3.setText(tf1.getText()+tf2.getText());
if(e.getSource()==jb2)
{
tf1.setText("");
tf2.setText("");
tf3.setText("");
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c0184153
2007-10-31 · 超过31用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:0
展开全部
JTextField jtf=new JTextField();
jtf.getText();//获取里面填写的值,注意返回值是string所以要转换成int类型再进行使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式