如何使得按多个按钮传到文本框上面,就是字符串拼接,
时间: 2023-12-03 07:04:43 浏览: 29
假设你要实现的是一个简单的计算器,其中有多个按钮,每个按钮对应一个数字或运算符,当用户点击按钮时,将其对应的字符显示在文本框中,可以通过字符串拼接的方式实现。
首先,你需要定义一个字符串变量,用于保存文本框中已经显示的内容,例如:
```java
String text = "";
```
然后,当用户点击按钮时,你可以将对应的字符拼接到这个字符串中,例如:
```java
String buttonValue = "1"; // 假设用户点击了数字按钮1
text += buttonValue; // 将1拼接到字符串text中
```
当用户点击多个按钮时,你可以重复以上步骤,将每个按钮对应的字符都拼接到字符串中,例如:
```java
String buttonValue1 = "1"; // 假设用户点击了数字按钮1
String buttonValue2 = "+"; // 假设用户点击了加号按钮
text += buttonValue1 + buttonValue2; // 将1和+拼接到字符串text中
```
最后,将拼接后的字符串显示在文本框中即可。
需要注意的是,每次拼接字符串时都需要重新赋值给text变量,否则文本框中的内容不会改变。另外,如果用户点击了清空按钮或者进行了计算,你需要将text变量重置为空字符串,以便下一次输入。
相关问题
如何使得按多个按钮传到文本框上面,就是字符串拼接,用添加事件来写,代码实现
好的,下面是一个基于添加事件的字符串拼接示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator extends JFrame implements ActionListener {
private JButton button0, button1, button2, button3, button4, button5, button6, button7, button8, button9;
private JButton buttonPlus, buttonMinus, buttonMultiply, buttonDivide, buttonEqual, buttonClear;
private JTextField textField;
private String text = "";
public Calculator() {
setTitle("简单计算器");
setLayout(new BorderLayout());
textField = new JTextField();
textField.setEditable(false);
add(textField, BorderLayout.NORTH);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(4, 4));
button7 = addButton("7", buttonPanel);
button8 = addButton("8", buttonPanel);
button9 = addButton("9", buttonPanel);
buttonPlus = addButton("+", buttonPanel);
button4 = addButton("4", buttonPanel);
button5 = addButton("5", buttonPanel);
button6 = addButton("6", buttonPanel);
buttonMinus = addButton("-", buttonPanel);
button1 = addButton("1", buttonPanel);
button2 = addButton("2", buttonPanel);
button3 = addButton("3", buttonPanel);
buttonMultiply = addButton("*", buttonPanel);
button0 = addButton("0", buttonPanel);
buttonClear = addButton("C", buttonPanel);
buttonEqual = addButton("=", buttonPanel);
buttonDivide = addButton("/", buttonPanel);
add(buttonPanel, BorderLayout.CENTER);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
private JButton addButton(String label, JPanel panel) {
JButton button = new JButton(label);
button.addActionListener(this);
panel.add(button);
return button;
}
@Override
public void actionPerformed(ActionEvent e) {
String buttonValue = e.getActionCommand();
switch (buttonValue) {
case "C":
text = "";
break;
case "=":
calculate();
break;
default:
text += buttonValue;
break;
}
textField.setText(text);
}
private void calculate() {
// 进行计算,这里省略具体实现
text = "";
}
public static void main(String[] args) {
new Calculator();
}
}
```
在这个例子中,我们创建了一个简单的计算器界面,包含了数字和操作符的按钮以及一个文本框。每当用户点击按钮时,程序会调用actionPerformed方法,将按钮对应的字符拼接到text字符串中,并在文本框中显示拼接后的字符串。当用户点击清空按钮或计算按钮时,我们会清空text字符串或进行计算,并更新文本框中的内容。
需要注意的是,我们在创建按钮时调用了addButton方法,并将当前对象作为ActionListener传入。这样,当用户点击按钮时,程序就会调用该对象的actionPerformed方法,从而实现字符串拼接和计算等功能。
android studio 点按钮把文本框内容传到第二个页面
好的,你可以通过以下步骤将文本框的内容传递到第二个页面:
1. 在第一个页面的布局文件中添加一个文本框和一个按钮,如下所示:
```
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"/>
```
2. 在第一个页面的Java文件中,获取文本框的内容并将其存储在一个字符串变量中,如下所示:
```
EditText editText = findViewById(R.id.editText);
String text = editText.getText().toString();
```
3. 在按钮的点击事件中,创建一个Intent对象,并使用putExtra()方法将字符串变量传递到第二个页面,如下所示:
```
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = editText.getText().toString();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("text", text);
startActivity(intent);
}
});
```
4. 在第二个页面的Java文件中,使用getIntent()方法获取传递的字符串变量,并将其显示在文本框中,如下所示:
```
TextView textView = findViewById(R.id.textView);
String text = getIntent().getStringExtra("text");
textView.setText(text);
```
这样,当用户在第一个页面输入文本并点击按钮后,应用程序将打开第二个页面,并在文本框中显示用户输入的文本。