Java 如何存储文本字段中的信息?
现在,我正在测试,以确保按钮工作…但这是我的小程序代码,它使用Pascal三角形展开二项式!我有实际计算部分的方程式,我只需要知道如何存储Java 如何存储文本字段中的信息?,java,applet,jtextfield,Java,Applet,Jtextfield,现在,我正在测试,以确保按钮工作…但这是我的小程序代码,它使用Pascal三角形展开二项式!我有实际计算部分的方程式,我只需要知道如何存储JTextFields中的信息!谢谢 import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; import java.text.Decimal
JTextFields
中的信息!谢谢
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.text.DecimalFormat;
import java.util.ArrayList;
import javax.swing.Action;
public class BinomialExpander extends JApplet implements ActionListener
{
JLabel welcome;
JLabel directions;
JLabel example;
JLabel instructions;
JLabel startOfBinomial;
JLabel plusSign;
JLabel forExponent;
JLabel endOfBinomial;
JTextField txtFirst;
JTextField firstVar;
JTextField txtSecond;
JTextField secondVar;
JTextField exp;
JLabel lblExpanded;
JLabel outputExpanded;
double degreesFahrenheit;
FlowLayout layout;
Timer timer;
Button compute;
private int[] pascal1 = {1,1};
private int[] pascal2 = {1,2,1};
private int[] pascal3 = {1,3,3,1};
private int[] pascal4 = {1,4,6,4,1};
private int[] pascal5 = {1,5,10,10,5,1};
private int[] pascal6 = {1,6,15,20,15,6,1};
private int[] pascal7 = {1,7,21,35,35,21,7,1};
private int[] pascal8 = {1,8,28,56,70,56,28,8,1};
private int[] pascal9 = {1,9,36,84,126,84,36,9,1};
private int[] pascal10 = {1,10,45,120,210,120,45,10,1};
public void init()
{
Container c = getContentPane();
c.setBackground(Color.cyan);
layout = new FlowLayout();
layout.setAlignment(FlowLayout.LEFT);
c.setLayout(layout);
setSize(500,175);
welcome = new JLabel("Welcome to the Binomial Expander Applet!");
directions = new JLabel("Enter binomial in the form: '(number)(variable) + (number)(variable)^exponent'.");
example = new JLabel("Example: (4a + 2)^2.");
// instantiate JLabel object for Degrees Fahrenheit
instructions = new JLabel("Enter the first number of your binomial(if there is a variable, add it into the second box):");
// instantiate JTextField object for the degrees fahrenheit
startOfBinomial = new JLabel(" (");
txtFirst = new JTextField(4);
// instantiate JLabel object for Degrees Celesius
firstVar = new JTextField(4);
plusSign = new JLabel(" + ");
txtSecond = new JTextField(4);
secondVar = new JTextField(4);
endOfBinomial = new JLabel(")");
forExponent = new JLabel("^");
forExponent.setFont(new Font("Times New Roman", Font.BOLD, 9));
exp = new JTextField(2);
compute = new Button("Compute!");
compute.addActionListener(this);
lblExpanded = new JLabel("Your expanded binomial is: ");
// JLabel to display the equivalent degrees Celsius
outputExpanded = new JLabel("");
c.add(welcome);
c.add(directions);
c.add(example);
c.add(instructions);
c.add(startOfBinomial);
//CALL the addActionListener() method on the JTextField object
// for the degrees Fahrenheit
txtFirst.addActionListener(this);
// Add the textbox the celsius label and output label
c.add(txtFirst);
c.add(firstVar);
c.add(plusSign);
c.add(txtSecond);
c.add(secondVar);
c.add(endOfBinomial);
c.add(forExponent);
c.add(exp);
c.add(compute);
c.add(lblExpanded);
c.add(outputExpanded);
// timer = new Timer(1, this);
// timer.start();
}
public void actionPerformed(ActionEvent event)
{
if (event.getSource() == compute)
{
outputExpanded.setText(expand());
}
}
public String expand()
{
String x = "callingComputing";
return x;
}
}
你的文本字段。返回一个字符串,您可以像使用任何其他字符串一样使用它,将其存储在数组中,教它唱歌、飞翔和享受生活。
相反,您可以使用您的textfield.setText()来显示JLabel、textfield等中的内容。扩展,它具有处理文本管理的API
正如其他答案所建议的,使用setText将当前文本替换为新文本
也可以阅读官方教程来理解
在ActionPerformed方法中添加以下内容
String name = txtname.getText();
此语句返回在单击按钮前第二秒在文本字段中输入的文本创建一个用于存储数据的类,并在Frame类中创建该类的对象,即为data类提供GUI的类,然后在Frame的submit按钮的action listener中,将getText()返回的字符串分配给对象的字段
例如:您想从文本字段中输入姓名和年龄, 创建一个Person类
public class Person{
public String name;
public int age;
}
现在创建一个GUI类
public PersonFrame extends JFrame{
public person;
public PersonFrame(){
person = new Person();
JTextField txtName = new JTextField();
JButton btn = new JButton();
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
person.name = txtName.getText();
person.age = Integer.parseInt(txtAge.getText()); //as the textfield returns a String always
}
});
}
}
避免使用
if (event.getSource() == compute)
{
outputExpanded.setText(expand());
}
如果您有100个按钮,那么编写嵌套的If-else语句来检查哪个按钮生成了事件将是愚蠢的
记住swing是为提供用户界面而设计的,您需要一个类的对象来存储数据!
对于java教程,请访问忽略所有华氏温度垃圾!这一切都在那里,因为我使用了一个摄氏到华氏的转换器作为我的小程序的模型!谢谢你们的帮助,伙计们!我只是个初学者。:)
if (event.getSource() == compute)
{
outputExpanded.setText(expand());
}