从JTextField中获取的数据是一些局部变量之一(Getting data from JText

2019-09-23 04:16发布

所以我读文件,我得到的文件行的数量。 根据我产生我的界面。 现在,我需要有编辑衣被合计trougth UI的能力。 行是具有输入文档怎么行有变量。 当然,下面不工作的代码。 我想写新的价值,从我读的阵列。

for(int i=0;i<Rows;i++)
{
    //System.out.println("!"+Symbol[1]+"!");
    //if(Symbol[i]!=""&&Symbol[i]!=null)
    // {
    JTextField symbol = new JTextField(6);
    symbol.setText(Symbol[i]);
    symbol.setBounds(10,25*i+10 , 75, 20);
    symbol.setEditable(false);
    frame.add(symbol);
    JTextField buyf = new JTextField(4);
    buyf.setText(String.valueOf(buy[i]));
    buyf.setBounds(95, 25*i+10, 50, 20);
    buyf.setEditable(true);
    buyf.addActionListener(new java.awt.event.ActionListener() { 
         public void actionPerformed(ActionEvent ae) {  
              buy[i]=Integer.parseInt(buyf.getText());
         }
    });                      
    frame.add(buyf);
} 

Answer 1:

  1. 不使用AbsoluteLayout例如symbol.setBounds(10,25*i+10 , 75, 20); 使用正确的LayoutManager ,也许网格布局是最适合你的?

  2. 使用的DocumentListener在变化的听力JTextComponents

  3. 使用的JFormattedTextField与数字格式化 ,而不是普通的JTextField ,那么你就可以删除一切parseWhatever

  4. 你可以使用普通的JTextField但DocumentFilter (除去非数字小字符)

  5. ActionListener的可能是正确的Listener的替代是DocumentListener在第二点

  6. 为更好地帮助越早张贴SSCCE ,但我认为DocumentListener可以解决



文章来源: Getting data from JTextField that is one of several local variables