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能够成立呢?
我知道有这个方法,关键是使用的时候会出错,大概是我的格式出了问题,帮忙看看程序再说嘛…… 展开
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能够成立呢?
我知道有这个方法,关键是使用的时候会出错,大概是我的格式出了问题,帮忙看看程序再说嘛…… 展开
6个回答
展开全部
你只要使用 xx.setText("文字"); 就可以把文字输出到 textField 中了,比如:
private JTextField CurrentScore; //定义
CurrentScore = new JTextField("0"); //在一个方法中初始化,初始设置了一个值:0
/**
* 然后又经历了一些其他的操作,现在我们手动给它设置一个一句话
*
* */
CurrentScore.setText("这是新的分数:100");
展开全部
你数据类型错了,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+"");
tx1 = Integer.parseInt(txt1.getText().trim());
tx2 = Integer.parseInt(txt2.getText().trim());
result这个是float类型的,将result转成String就可以了,
最简单的办法将你的代码修改成如下:
txt3.setText(result+"");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你的result改成result+""
因为setText(" ");里面是需要接收一个String 类型的参数
因为setText(" ");里面是需要接收一个String 类型的参数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Float.parseFloat(String s); 方法就可以用,返回的是一个float值.
如果result是String 类型的话,
float rs=Float.parseFloat(result);
剩下的不用说了吧.
如果result是String 类型的话,
float rs=Float.parseFloat(result);
剩下的不用说了吧.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JTextField类的对象有一个setText("")的方法,可以用它来加文字。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询