2013-03-15 32 views
-1

我是新來的java,我似乎無法解決這個問題。我知道我錯過了一些東西。嘗試從jtextfield讀取用戶輸入並在另一個jtextfield中顯示。來吧null

基本上我試圖做的是讀取用戶在JTextfield的輸入,然後顯示用戶輸入到另一個JTextfield的內容。

我希望在點擊添加按鈕後發生這一切。一旦我點擊添加按鈕,我想從第一個JTextfield的用戶輸入,然後顯示在不同的JTextfield

但是,當在第一個文本字段中輸入內容並點擊添加按鈕時,我在其他JTextfield中獲得null值。我無法弄清楚爲什麼。

我正在使用類變量,應該存儲用戶使用.gettext()方法輸入的內容。

不知道是怎麼回事,任何幫助表示讚賞。

package inventoryprogrampart6; 

import javax.swing.JFrame; 


public class AddItemWin extends javax.swing.JFrame { 
    private int itNm,unitNm,yr; 
    private String prodName; 
    private double price; 
    /** 
    * Creates new form AddItemWin 
    */ 
    public AddItemWin() { 
     initComponents(); 
    } 

    /** 
    * This method is called from within the constructor to initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is always 
    * regenerated by the Form Editor. 
    */ 
    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     jPanel1 = new javax.swing.JPanel(); 
     jLabel1 = new javax.swing.JLabel(); 
     jLabel2 = new javax.swing.JLabel(); 
     jLabel3 = new javax.swing.JLabel(); 
     jLabel4 = new javax.swing.JLabel(); 
     jLabel5 = new javax.swing.JLabel(); 
     textField1 = new java.awt.TextField(); 
     textField2 = new java.awt.TextField(); 
     textField3 = new java.awt.TextField(); 
     textField4 = new java.awt.TextField(); 
     textField5 = new java.awt.TextField(); 
     jButton1 = new javax.swing.JButton(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Add New Item", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 12))); // NOI18N 

     jLabel1.setText("Item Number:"); 

     jLabel2.setText("Product Name:"); 

     jLabel3.setText("Number of Units:"); 

     jLabel4.setText("Prodcut Price"); 

     jLabel5.setText("Year Made:"); 

     jButton1.setText("Add Item"); 
     jButton1.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       jButton1ActionPerformed(evt); 
      } 
     }); 

     javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
     jPanel1.setLayout(jPanel1Layout); 
     jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addGroup(jPanel1Layout.createSequentialGroup() 
         .addContainerGap() 
         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
          .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING) 
          .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING) 
          .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING) 
          .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING) 
          .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING)) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 
          .addComponent(textField1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
          .addComponent(textField2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
          .addComponent(textField3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
          .addComponent(textField4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
          .addComponent(textField5, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE))) 
        .addGroup(jPanel1Layout.createSequentialGroup() 
         .addGap(157, 157, 157) 
         .addComponent(jButton1))) 
       .addContainerGap(156, Short.MAX_VALUE)) 
     ); 
     jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
        .addGroup(jPanel1Layout.createSequentialGroup() 
         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
          .addGroup(jPanel1Layout.createSequentialGroup() 
           .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
            .addComponent(jLabel1) 
            .addComponent(textField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
           .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
           .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
            .addComponent(jLabel2) 
            .addComponent(textField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
           .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
           .addComponent(jLabel3)) 
          .addComponent(textField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
         .addComponent(jLabel4)) 
        .addComponent(textField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
        .addComponent(jLabel5) 
        .addComponent(textField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(21, 21, 21) 
       .addComponent(jButton1) 
       .addContainerGap(23, Short.MAX_VALUE)) 
     ); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(76, Short.MAX_VALUE)) 
     ); 

     pack(); 
    }// </editor-fold>       

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
     // TODO add your handling code here: 
     textField5.setText(String.valueOf(getitNm())); 


    }           

    public void addToArray() 
    { 
     itNm = Integer.parseInt(textField1.getText()); 
     prodName = (textField2.getText()); 
     unitNm = Integer.parseInt(textField3.getText()); 
     price = Double.parseDouble(textField4.getText()); 
     yr = Integer.parseInt(textField5.getText()); 


    } 


    public int getitNm() 
    { 
     return itNm; 
    } 

    public String getProdName() 
    { 
     return prodName; 
    } 
    public int getunitNm() 
    { 
     return unitNm; 
    } 
    public double getprice() 
    { 
     return price; 
    } 
    public int getyear() 
    { 
     return yr; 
    } 

    // Variables declaration - do not modify      
    private javax.swing.JButton jButton1; 
    private javax.swing.JLabel jLabel1; 
    private javax.swing.JLabel jLabel2; 
    private javax.swing.JLabel jLabel3; 
    private javax.swing.JLabel jLabel4; 
    private javax.swing.JLabel jLabel5; 
    private javax.swing.JPanel jPanel1; 
    private java.awt.TextField textField1; 
    private java.awt.TextField textField2; 
    private java.awt.TextField textField3; 
    private java.awt.TextField textField4; 
    private java.awt.TextField textField5; 
    // End of variables declaration     
} 
+0

我沒有看到你在你代碼設置了'itNm'價值是什麼? – MadProgrammer 2013-03-15 02:55:40

+0

@MadProgrammer,我試圖使用set itNm,然後get itNm,但沒有工作,我也嘗試調用按鈕內的addToArray,但這也不起作用。我看了很多不同的地方,覺得我缺少一些基本的東西。 – Jason 2013-03-15 03:26:01

回答

0

你是不是在你的類的任何地方調用這個方法

public void addToArray() 

這就是爲什麼你所輸入的值不存儲

0

首先,你並不需要所有的額外的代碼,它只是浪費內存。實例化類型時取出軟件包名稱。其次,你不能僅僅從文本字段中解析某些文本,你必須先將該值放入字符串中。如果這不起作用

myTextBox.setEnabled(true); 

如果您需要任何更多的幫助問我。

0

有一些問題,主要是圍繞問題方面有沒有真正知道它是什麼,你正在努力實現...

這將導致一個錯誤,如果任何字段沒有文本(或文本無法通過NumberFormatException被paresed爲int

public void addToArray() { 
    itNm = Integer.parseInt(textField1.getText()); 
    prodName = (textField2.getText()); 
    unitNm = Integer.parseInt(textField3.getText()); 
    price = Double.parseDouble(textField4.getText()); 
    yr = Integer.parseInt(textField5.getText()); 
} 

這意味着,如果你離開的最後一個領域的空白,它。現在,您想將第一個字段的內容複製到最後一個字段的事實讓我更加清楚爲什麼您需要該字段的內容。

在你jButton1ActionPerformed的方法,你可以簡單地使用textField5.setText(textField1.getText())並達到您想要

+0

感謝@MadProgrammer,這部分真的用作測試。我試圖做的總體是我有另一個圖形用戶界面,如果一個人點擊添加他們將能夠進入一個新的產品,因此addToArray。我想要發生的是當我點擊添加按鈕來更新其他GUI時。我可以列出代碼,好像它有幫助。我現在正在這樣做,因爲我意識到它不在其他GUI上工作,所以我嘗試了一下測試,看看我輸入的內容是否會彈出,而不是。一直試圖檢索用戶輸入有意義嘗試了幾種不同的方式。 – Jason 2013-03-15 04:04:18

+0

如果你想我更新代碼或重新發布我會很高興。我可以使用我能得到的所有幫助。 – Jason 2013-03-15 04:04:47

+0

它會建議你看看[如何使用對話框](http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html) – MadProgrammer 2013-03-15 04:13:17

相關問題