Присвоение нескольких вычислений одному JButton - PullRequest
0 голосов
/ 06 марта 2019

Мне нужно запустить (используя другие непоказанные поля, которые работают правильно) три отдельных вычисления с одной кнопкой - «Рассчитать».Как заставить эту кнопку печатать все 3?Он запустится, но напечатает только последний.Это как-то освежает и печатает только одно значение?Спасибо!

JLabel lblTipPerPerson = new JLabel("Tip Per Person");
    JTextField tfTipPerPerson = new JTextField(20);
    lblTipPerPerson.setLabelFor(tfTipPerPerson);

    btnCalculate.addActionListener(
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    double TipPerPerson;
                    TipPerPerson = ( (Double.parseDouble(tfTipPercent.getText()) / 100.0) * 
                            Double.parseDouble(tfBillAmount.getText()) )  / 
                            Double.parseDouble(tfNumberofPeople.getText());
                    tfTipPerPerson.setText(String.format("$ %.2f", TipPerPerson));
                }
            }
            );

    JLabel lblTotalPerPerson = new JLabel("Total Per Person");
    JTextField tfTotalPerPerson = new JTextField(20);
    lblTotalPerPerson.setLabelFor(tfTotalPerPerson);

    btnCalculate.addActionListener(
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    double TotalPerPerson;
                    TotalPerPerson = Double.parseDouble(tfTipPerPerson.getText()) + 
                            ( Double.parseDouble(tfBillAmount.getText()) / 
                            Double.parseDouble(tfNumberofPeople.getText()) );
                    tfTotalPerPerson.setText(String.format("$ %.2f", TotalPerPerson));
                }
            }
            );


    JLabel lblBillTotal = new JLabel("Bill Total");
    JTextField tfBillTotal = new JTextField(20);
    lblBillTotal.setLabelFor(tfBillTotal);

    btnCalculate.addActionListener(
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    double BillTotal;
                    BillTotal = Double.parseDouble(tfBillAmount.getText()) *
                            ( 1 + Double.parseDouble(tfTipPercent.getText()) / 100.0 );
                    tfBillTotal.setText(String.format("$ %.2f", BillTotal));
                }
            }
            );
...