2016-04-05 13 views
1

我想從textfield(tableNum)獲取輸入並將其從另一個類傳遞到標籤(tableLabel)中。我不知道如何將文本字段的值準確傳遞給標籤。 任何幫助,將不勝感激。textfield tableNum不會將字符串從另一個類傳遞到tableLabel

//提取一流

num_Table = new JTextField(); 

num_Table.addKeyListener(new KeyAdapter() { 
    @Override 
     public void keyTyped(KeyEvent e) {         
      char c=e.getKeyChar(); 
      if(!(Character.isDigit(c) ||  (c==KeyEvent.VK_BACK_SPACE)||c==KeyEvent.VK_DELETE)){ 
      e.consume();                   
      } 
     } 
}); 
num_Table.setBounds(334, 161, 83, 26); 
contentPane.add(num_Table); 
num_Table.setColumns(10); 

num_TableSub_Btn = new JButton("Submit"); 
num_TableSub_Btn.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     num_Table.setText(""); 
    } 
}); 
num_TableSub_Btn.setBounds(487, 161, 83, 29); 
contentPane.add(num_TableSub_Btn); 

//提取第二類

tableLabel = new JLabel("New label"); 
tableLabel.setBounds(16, 6, 61, 16); 
contentPane.add(tableLabel); 

回答

2

numTable作爲參數傳遞給你的第二個類的構造函數。將DocumentListener添加到numTable,而不是KeyListener。在您的DocumentListener中,請撥打setText()更新標籤。

numTable.addDocumentListener(new MyDocumentListener()); 
… 
class MyDocumentListener implements DocumentListener { 

    public void insertUpdate() { 
     update(); 
    } 
    public void removeUpdate() { 
     update(); 
    } 
    public void changedUpdate(DocumentEvent e) {} 

    public void update() { 
     tableLabel.setText(numTable.getText()); 
    } 
} 
相關問題