Минус входной номер в JTextField из сохраненных значений

#java #swing #decrement

#java #качать #уменьшение

Вопрос:

Я пытаюсь создать систему хранения, когда пользователь вводит номер элемента, который он хочет, чтобы он вычитался из общего количества доступных. Как бы мне это сделать? Я новичок, поэтому я не слишком уверен

Для моего кода ниже пытаюсь получить ввод sofa и минус его из общего

 import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

import java.text.DecimalFormat;
import java.util.Arrays;

/**
   RoutinePanel class

*/

public class RoutinePanel extends JPanel
{
   // Named constants for charges
       private final double SOFA_CHARGE = 599.99;
       private final double COMPUTER_DESK_CHARGE = 129.99;
       private final double COFFEE_TABLE_CHARGE = 40.0;
       private final double ARMCHAIR_CHARGE = 229.99;
       private final double TV_STAND_CHARGE = 37.0;
       private final double CUSHION_CHARGE = 8.0;
       private final double BED_CHARGE = 145.0;
       private final double MATRESS_CHARGE = 299.0;
       private final double DUVET_CHARGE = 24.99;
       private final double PILLOW_CHARGE = 9.99;


           int SofaTotal = 999;
       TextField ComputerDesk;       // Check box for lube job
       JTextField Armchair; // Check box for radiator flush
       JTextField CoffeeTable;    // Check box for transmission flush
       JTextField TvStand;    // Check box for inspection
       JTextField Cushion;       // Check box for muffler replacement
       JTextField Bed;  // Check box for tire rotation
       JTextField Matress ;
       JTextField Duvet;
       JTextField Pillow;
       JLabel SofaLbl;
       JTextField Sofa;
       private JLabel ArmchairLbl;
       private JLabel ComputerDeskLbl;
       private JLabel CoffeeTableLbl;
       private JLabel TvStandLbl;
       private JLabel CushionLbl;
       private JLabel BedLbl;
       private JLabel MatressLbl;
       private JLabel DuvetLbl;
       private JLabel PillowLbl;
       private Color Colour;
       private JButton b;


   /**
      Constructor
   */

   public RoutinePanel()
   {
      // Create a DecimalFormat object.
      DecimalFormat dollar = new DecimalFormat("#,##0.00");

       Sofa = new JTextField("0");

      SofaLbl  = new JLabel("Sofa");
      ArmchairLbl = new JLabel("Armchair");
      Armchair = new JTextField("0");
      ComputerDesk = new TextField("0");
      ComputerDeskLbl = new JLabel("Computer Desk");
      CoffeeTable = new JTextField("0");
      CoffeeTableLbl = new JLabel("Coffee Table");
      TvStand = new JTextField ("0");
      TvStandLbl = new JLabel ("TV Stand");
      Cushion = new JTextField ("0");
      CushionLbl = new JLabel ("Cushion");
      Bed = new JTextField ("0");
      BedLbl = new JLabel("0");
      Matress = new JTextField("0");
      MatressLbl = new JLabel("Matress");
      Duvet = new JTextField("0");
      DuvetLbl = new JLabel("Duvet");
      Pillow = new JTextField("0");
      PillowLbl = new JLabel("Pillow"); 

      b = new JButton("Choose a Colour");
      b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event)
      { Colour = JColorChooser.showDialog(null, "Pick your Colour", Colour);
    if (Colour==null)
        Colour=(Colour.WHITE);

      }
      }

      );




      // Create a GridLayout manager.
      setLayout(new GridLayout(18, 3));

      // Create a border.
      setBorder(BorderFactory.createTitledBorder("Routine Services"));


      add(SofaLbl);
      add(Sofa);
      add(b);
      add(ArmchairLbl);
      add(Armchair);
      add(ComputerDeskLbl);
      add(ComputerDesk);
      add(CoffeeTableLbl);
      add(CoffeeTable);
      add(TvStandLbl);
      add(TvStand);
      add(CushionLbl);
      add(Cushion);
      add(BedLbl);
      add(Bed);
      add(MatressLbl);
      add(Matress);
      add(DuvetLbl);
      add(Duvet);
      add(PillowLbl);
      add(Pillow);







   }
  

Комментарии:

1. ChairLeft=ChairTotal-ChairEnteredByUser;

2. Пожалуйста, покажите код. Пожалуйста, задайте более полный и конкретный вопрос.

3. Добавлен код для очистки abit @HovercraftFullOfEels

Ответ №1:

Это довольно просто.Вам просто нужно вычесть sofa, запрошенный пользователем, из общего sofa и отобразить его в ярлыке sofa!

   int sofaRequested=Integer.parseInt(Sofa.getText());
  int sofaLeft=SofaTotal-sofaRequested;
  SofaLbl.setText("The total number of Sofa left in stock is " sofaLeft);
  

Комментарии:

1. Это прекрасно описано, и теперь я понимаю, большое спасибо! Во-первых, оно не вычитается из общего числа, но отображает общее количество в метке

2. @user3403781-Что вы ввели в текстовое поле Sofa?

3. Я ввел 10, но ничего не произошло

4. Куда вы добавили этот фрагмент кода, который я написал?

5. Вам нужно добавить кнопку для получения выходных данных! Или же поместите его в JButton b и введите в текстовое поле и нажмите JButton b; Вы получите желаемый результат! Кроме того, вы можете написать событие actionPerformed для текстового поля Sofa, например JButton b, и ввести в него мой ответ. Это приведет к правильному выводу!