2013-03-15 14 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

相关问题