java中如何输出文字到textField中

import javax.swing.text.JTextComponent;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.BorderLayout;

public class Division extends JFrame implements ActionListener{
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JLabel pin = new JLabel("Please Input the Numbers:");
JLabel ds = new JLabel("/");
JLabel rs = new JLabel("=");
JTextField txt1 = new JTextField("divisor",10);
JTextField txt2 = new JTextField("dividend",10);
JTextField txt3 = new JTextField("result",10);
JButton btn1 = new JButton("Ok");
JButton btn2 = new JButton("Cancel");
BorderLayout layout = new BorderLayout();

public Division(){
try{
jbInit();
pack();
}catch(Exception e){
e.printStackTrace();
}

}

public void jbInit() throws Exception{
btn1.setActionCommand("ok");
btn1.addActionListener(this);
btn2.setActionCommand("cancel");
btn2.addActionListener(this);
this.add(panel1,BorderLayout.NORTH);
this.add(panel2,BorderLayout.CENTER);
this.add(panel3,BorderLayout.SOUTH);
panel1.add(pin);
panel2.add(txt1);
panel2.add(ds);
panel2.add(txt2);
panel2.add(rs);
panel2.add(txt3);
panel3.add(btn1);
panel3.add(btn2);
this.setLocation(400,300);
this.setSize(400,150);
this.setVisible(true);
this.setTitle("Division");
}

public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("ok")){
int tx1,tx2;
float result;
try{
tx1 = Integer.parseInt(txt1.getText().trim());
tx2 = Integer.parseInt(txt2.getText().trim());
result = tx1/tx2;
txt3.setText(result);
}catch(Exception ex){
ex.printStackTrace();
new ErrorDlg();
}
}else if(e.getActionCommand().equals("cancel")){
txt1.setText("");
txt2.setText("");
txt3.setText("");
}
}

public static void main(String[] args){
Division division = new Division();
}
}

错误就在txt3.setText(result);这里,不知道怎么输出……
但是,如果result是String的话,如何使得result=tx1/tx2能够成立呢?
我知道有这个方法,关键是使用的时候会出错,大概是我的格式出了问题,帮忙看看程序再说嘛……

你只要使用 xx.setText("文字"); 就可以把文字输出到 textField 中了,比如:

private JTextField CurrentScore;  //定义

CurrentScore = new JTextField("0");  //在一个方法中初始化,初始设置了一个值:0
/**
 * 然后又经历了一些其他的操作,现在我们手动给它设置一个一句话
 * 
 * */
 CurrentScore.setText("这是新的分数:100");

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-23
你数据类型错了,setText(String t)赋的是String类型的数据,你float result;
tx1 = Integer.parseInt(txt1.getText().trim());
tx2 = Integer.parseInt(txt2.getText().trim());
result这个是float类型的,将result转成String就可以了,
最简单的办法将你的代码修改成如下:
txt3.setText(result+"");
第2个回答  推荐于2017-09-11
把你的result改成result+""
因为setText(" ");里面是需要接收一个String 类型的参数本回答被提问者采纳
第3个回答  2008-03-24
Float.parseFloat(String s); 方法就可以用,返回的是一个float值.
如果result是String 类型的话,
float rs=Float.parseFloat(result);
剩下的不用说了吧.
第4个回答  2008-03-23
JTextField类的对象有一个setText("")的方法,可以用它来加文字。