如何使用数字更新JLabel

时间:2015-02-10 01:21:40

标签: java swing jpanel jlabel

好吧,所以我有两个文本字段,你键入两个数字,然后在这两个文本字段下面是一个名为result的标签,它将在一起添加时显示数量。在窗口的底部是一个要添加的按钮。我无法更新结果标签,下面只是我显示的添加按钮的动作监听器。从我的代码中显示一切都很好,我只需要知道如何更新我的结果标签以显示两个数字的总和。这完全是在java btw。

addButton.addActionListener( new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            double sum = 0;
            double newNum1 = 0;
            double newNum2 = 0;


            String num1 = leftOperand.getText();
            String num2 = rightOperand.getText();



            if(!(num1.trim().equals("")) || !(num2.trim().equals("")))
            {
                newNum1 = Double.parseDouble(num1);
                newNum2 = Double.parseDouble(num2);
            }


            sum = newNum1 + newNum2;
            JLabel resultLabel = new JLabel("Result =");
            resultLabel.setText("Result = " + String.valueOf(sum));
        }

    });

以下是我用于创建结果标签的代码。以防你需要看到它。

JPanel resultPanel = new JPanel();
JLabel resultLabel = new JLabel("Result =");

resultLabel.setName("resultLabel");
resultPanel.add(resultLabel);

frame.add(resultPanel, BorderLayout.LINE_START);

注意:这些都采用相同的方法。

1 个答案:

答案 0 :(得分:3)

首先,将resultLabel设为实例变量......

public class MyAwesomeClass extends ... {
    private JLabel resultLabel;

构建UI时,请确保使用它而不是创建局部变量

//JLabel resultLabel = new JLabel("Result =");
resultLabel = new JLabel("Result =");

计算结果时,请使用实例变量

//JLabel resultLabel = new JLabel("Result =");
resultLabel.setText("Result = " + String.valueOf(sum));

回到基础并查看Classes and ObjectsDeclaring Member Variables