怎样写JTextField的监听和处理事件
我是要得到JTextField里面输入的数字,用来以表格的行数和列数传递给函数画表格,可是不知道JTextField监听和处理事件怎么写,高手帮忙指点一下....
我是要得到JTextField里面输入的数字,用来以表格的行数和列数传递给函数画表格,可是不知道JTextField监听和处理事件怎么写,高手帮忙指点一下.
展开
3个回答
展开全部
首先,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获得输入结果后可以直接用于表格的输出.
下面这段是处理的代码:
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获得输入结果后可以直接用于表格的输出.
展开全部
我给你个程序你仔细的研究一下,看看怎么监听的和处理的。
主要是
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("");
}
}
}
主要是
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("");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JTextField jtf=new JTextField();
jtf.getText();//获取里面填写的值,注意返回值是string所以要转换成int类型再进行使用
jtf.getText();//获取里面填写的值,注意返回值是string所以要转换成int类型再进行使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询