我試圖從文本字段(由用戶輸入)獲取值用於處理。但不管我做什麼,它都不會得到進入它的價值似乎仍然是空的。有人可以告訴我爲什麼它不會從文本字段中獲得價值。爲什麼我的Java代碼不能獲取JText字段的值?
這是initialy創建並命名爲writeStrings
public void chooseEmpToAdd()
{
JTextArea EmpDetails = new JTextArea(5,20);
JTextField writeStrings = new JTextField(20);
JLabel enterIDno = new JLabel("Please enter The Employye ID number that you wish to assign to a department: ");
JButton submit = new JButton (" Submit") ;
ButtonListenerEmp Listener2 = new ButtonListenerEmp();
submit.addActionListener(Listener2);
JFrame frameAllEmps = new JFrame();
frameAllEmps.setSize(150, 140);
frameAllEmps.pack();
frameAllEmps.setVisible(true);
//layout
frameAllEmps.setLayout(new FlowLayout());
frameAllEmps.add(enterIDno);
int x = 0;
System.out.println("ALL Emps from the tree map");
for(int key:employeeMap.keySet())
{
Employee dEmp = employeeMap.get(key);
System.out.println("Employe no :" +x+": "+dEmp);
EmpDetails.setText(EmpDetails.getText()+" "+dEmp);
frameAllEmps.add(EmpDetails);
x++;
}
frameAllEmps.add(new JScrollPane(EmpDetails));
frameAllEmps.add(writeStrings);
frameAllEmps.add(submit);
frameAllEmps.pack();
}
這是動作監聽者應該從文本框中取值,並將其打印到控制檯的文本字段的方法,但它確實不行。
private class ButtonListenerEmp implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
String ID ;
int dID;
ID = writeStrings.getText();
System.out.println("start of try b4 changes: "+ID);
}
}
這個問題很容易在代碼中沒有顯示。爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –
請學習java命名約定並堅持使用它們 – kleopatra