我试图从文本字段(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);
最佳答案
将 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());
}
}
关于java - 文本字段 tableNum 不会将 String 从另一个类传递到 tableLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36426773/