java 监听jtextfield_java – 让ActionListener监听JTextField中的更改,而不是仅输入?

所以你可能知道,如果你有一个文本字段,并添加一个ActionListener,它只会听按键的按钮.但是,我想让我的ActionListener听取文本中的更改.所以基本上我有这个:

public static JPanel mainPanel() {

JPanel mainp = new JPanel();

JTextArea areap = new JTextArea("Some text in the textarea");

JTextField fieldp = new JTextField("Edit this");

areap.setEditable(false);

fieldp.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(//change in textfield, for instance a letterpress or space bar)

{

//Do this

}

}

});

mainp.add(areap);

mainp.add(fieldp);

return mainp;

}

任何方式我都可以听取文本中的更改(如actionPerformed事件中记录的)?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 ActionListener 监听器来实现这个功能。具体步骤如下: 1. 创建三个 JTextField 对象,分别用于输入第一个数字、第二个数字和结果。 ```java JTextField textField1 = new JTextField(); JTextField textField2 = new JTextField(); JTextField resultField = new JTextField(); ``` 2. 创建一个 JButton 对象,并添加 ActionListener 监听器。 ```java JButton button = new JButton("相加"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 在这里实现相加的逻辑 } }); ``` 3. 在 ActionListener 监听获取两个 JTextField 的数字,并计算它们的和。 ```java @Override public void actionPerformed(ActionEvent e) { // 获取 textField1 和 textField2 的数字 int num1 = Integer.parseInt(textField1.getText()); int num2 = Integer.parseInt(textField2.getText()); // 计算它们的和 int sum = num1 + num2; // 将结果显示在 resultField resultField.setText(Integer.toString(sum)); } ``` 完整代码示例: ```java import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class AddNumbersGUI { public static void main(String[] args) { // 创建 JFrame 和 JPanel JFrame frame = new JFrame("相加"); JPanel panel = new JPanel(); // 创建三个 JTextField 对象 JTextField textField1 = new JTextField(); JTextField textField2 = new JTextField(); JTextField resultField = new JTextField(); // 创建一个 JButton,并添加 ActionListener 监听器 JButton button = new JButton("相加"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 获取 textField1 和 textField2 的数字 int num1 = Integer.parseInt(textField1.getText()); int num2 = Integer.parseInt(textField2.getText()); // 计算它们的和 int sum = num1 + num2; // 将结果显示在 resultField resultField.setText(Integer.toString(sum)); } }); // 将组件添加到 JPanel panel.add(textField1); panel.add(textField2); panel.add(button); panel.add(resultField); // 将 JPanel 添加到 JFrame frame.add(panel); // 设置 JFrame 的大小和可见性 frame.setSize(300, 100); frame.setVisible(true); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值