как сделать исключение в Jtextfield? - PullRequest
0 голосов
/ 18 июля 2011

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

private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                







          double price1 = (int) ((int) Double.parseDouble(carpetPricetxt.getText()));
          boolean incorrect = true;
          while (incorrect){
          try{Double.parseDouble(price1);incorrect = false;}
          catch(NumberFormatException nfe){
           price1=JOptionPane.showInputDialog("Invalid input");




          }
          int carpetSize = (int) ((int) Double.parseDouble( CarpetLengthtxt.getText()));



          double room= 0;
          double carptCst= (price1/9)*carpetSize;
          double labrCst= 90;
          double subTotal = (price1/9)*carpetSize+labrCst;
          String tax1 ="0.5%"; 
          double totl= (price1/9)*carpetSize+labrCst+.5*subTotal;
          double fruniture=0;

          String zero = "0";
          String one= "1";
          String two= "2";
          String three= "3";
          String four= "4";
          String five= "5";
          String six= "6";
          String seven= "7";
          String eight= "8";
          String nine= "9";
          String ten= "10";
          Object str= roomCountComboBox.getSelectedItem();
          if (roomCountComboBox.getSelectedItem().equals(zero))
          {
              room= totl;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(one))
          {
              room= totl*1;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(two))
          {
              room= totl*2;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(three))
          {
              room= totl*3;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(four))
          {
              room= totl*4;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(five))
          {
              room= totl*5;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(six))
          {
              room= totl*6;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(seven))
          {
              room= totl*7;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(eight))
          {
              room= totl*8;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(nine))
          {
              room= totl*9;
              grandTotalLabel2.setText(String.valueOf(room));
          }
          if (roomCountComboBox.getSelectedItem().equals(ten))
          {
              room= totl*10;
              grandTotalLabel2.setText(String.valueOf(room));
          }



          Object str2= furnitureComboBox.getSelectedItem();
          if (furnitureComboBox.getSelectedItem().equals(zero))
          {
              fruniture=room+totl;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(one))
          {
                fruniture=room+totl*1;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(two))
          {
                fruniture=room+totl*2;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(three))
          {
              fruniture=room+totl*3;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(four))
          {
              fruniture=room+totl*4;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(five))
          {
              fruniture=room+totl*5;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(six))
          {
              fruniture=room+totl*6;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(seven))
          {
              fruniture=room+totl*7;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(eight))
          {
              fruniture=room+totl*8;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(nine))
          {
              fruniture=room+totl*9;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }
          if (furnitureComboBox.getSelectedItem().equals(ten))
          {
              fruniture=room+totl*10;
              grandTotalLabel2.setText(String.valueOf(fruniture));
          }




         TaxLabel2.setText(String.valueOf(tax1));
         laborCostLabel2.setText(String.valueOf(labrCst));
         carpetCostLable2.setText(String.valueOf(carptCst));
         totalLabel2.setText(String.valueOf(subTotal));


    }                                         

1 Ответ

0 голосов
/ 18 июля 2011

Я не уверен, что именно вы спрашиваете.Если вы немного уточните свой вопрос, я мог бы оказать более конкретную помощь.Но я думаю, что эта часть официального руководства по Java для текстовых полей актуальна:

Поскольку класс JTextField наследуется от класса JTextComponent, текстовые поля очень гибкие иможно настроить практически так, как вам нравится.Например, вы можете добавить прослушиватель документов или фильтр документов, чтобы получать уведомления при изменении текста, и в случае фильтра вы можете соответствующим образом изменить текстовое поле .

(выделение мое)


Как примечание, это:

  Object str2= furnitureComboBox.getSelectedItem();
  if (furnitureComboBox.getSelectedItem().equals(zero))
  {
      fruniture=room+totl;
  ...

было бы немного лучше написано так:

Object selectedFurniture = furnitureComboBox.getSelectedItem();
if(selectedFurniture.equals(zero))
{
    furniture = room + total;
...

Обратите внимание на улучшенное написание(«fruniture» - это не слово), слегка улучшенная номенклатура и более краткий предикат в if.

...