java中如何输出文字到textField中

importjavax.swing.text.JTextComponent;importjava.io.*;importjavax.swing.*;importjavax... 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能够成立呢?
我知道有这个方法,关键是使用的时候会出错,大概是我的格式出了问题,帮忙看看程序再说嘛……
展开
 我来答
百度网友2374fe58
推荐于2017-09-18 · TA获得超过808个赞
知道小有建树答主
回答量:420
采纳率:100%
帮助的人:192万
展开全部

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

private JTextField CurrentScore;  //定义

CurrentScore = new JTextField("0");  //在一个方法中初始化,初始设置了一个值:0
/**
 * 然后又经历了一些其他的操作,现在我们手动给它设置一个一句话
 * 
 * */
 CurrentScore.setText("这是新的分数:100");
sokoo108
2008-03-23 · TA获得超过470个赞
知道小有建树答主
回答量:481
采纳率:0%
帮助的人:378万
展开全部
你数据类型错了,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+"");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
继续池城没理由
推荐于2017-09-11
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
把你的result改成result+""
因为setText(" ");里面是需要接收一个String 类型的参数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
方杭尽
2008-03-24 · TA获得超过1万个赞
知道大有可为答主
回答量:1296
采纳率:0%
帮助的人:635万
展开全部
Float.parseFloat(String s); 方法就可以用,返回的是一个float值.
如果result是String 类型的话,
float rs=Float.parseFloat(result);
剩下的不用说了吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d9306bb
2008-03-23 · TA获得超过145个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:102万
展开全部
JTextField类的对象有一个setText("")的方法,可以用它来加文字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式