You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改(增加或减少)JLabel组件上显示的数值?

要实现该需求,只需两步调整:

  1. 将显示金额的JLabel提升为类成员变量,确保按钮的点击监听器可以访问到该组件
  2. 在点击事件中完成「提取数值→计算→更新文本」的逻辑

修改后的可运行代码如下:

import javax.swing.*;

public class MyFrame {
    // 提升为类成员变量,方便监听器访问
    JButton button;
    JLabel amount;

    MyFrame(){
        button = new JButton();
        button.setBounds(200, 400, 250, 100);
        // 实现点击加100 EUR的逻辑
        button.addActionListener(e -> {
            // 提取当前金额的数值部分:去掉" EUR"后缀后转整数
            int currentAmount = Integer.parseInt(amount.getText().replace(" EUR", ""));
            // 数值加100
            int newAmount = currentAmount + 100;
            // 拼接回货币格式后更新标签内容
            amount.setText(newAmount + " EUR");
        });
        button.setText("***");

        amount = new JLabel("500 EUR");
        amount.setBounds(35, 315, 500, 100);

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setSize(1200, 850);
        frame.add(button);
        frame.add(amount);
        frame.setLayout(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new MyFrame();
    }
}

补充说明

如果后续金额需要支持小数,可将Integer.parseInt替换为Double.parseDouble;如果文本格式可能出现变化(比如空格位置不固定、出现其他字符),可以用正则提取所有数字部分:Integer.parseInt(amount.getText().replaceAll("[^\\d]", "")),兼容性更强。

内容的提问来源于stack exchange,提问作者drewwurst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:15:02