Я создаю клиент хранилища для своих репозиториев сайтов, и мне нужно определить, когда пользователь вводит определенный идентификатор, чтобы определить, из какого репозитория URL его получить.Получить строку из JTextArea
Вот мой код:
JTextField repo = new JTextField();
JButton submit = new JButton("Download!");
String repod = repo.getText();
final String repoid = repod;
submit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(repoid.equals("pb")){
//this
}else if(repoid.equals("mb")){
//this
}else if(repoid.equals("repo29-update")){
//this
}else{
System.out.println("Contacting SERVER...");
System.out.println("Finding REPOID: "+repoid);
System.out.println("Not Found! Returning Error!");
JLabel err = new JLabel("Invalid REPOID");
JFrame a = new JFrame("Error");
a.setSize(300,100);
a.setLocationRelativeTo(null);
a.setResizable(false);
a.setAlwaysOnTop(true);
a.add(err);
a.setVisible(true);
}
}
});
Когда я иду через этот сценарий, я всегда получаю возможность еще, почему?
Это не дубликат, я изменил значение == на .equals(), и он все еще не работает.
Вы создаете 'JTextField' и примерно через наносекунду позже получаете содержимое ... так что' repod' и, таким образом, 'repoid' являются пустыми строками. –
'String repod = repo.getText();' <- должен находиться в вашем 'actionPerformed'. И просто проверяйте «repod», не нужно «repiod» –