Я заполняю jComboBox одним атрибутом каждого объекта, в данном случае, именем пользователя. Когда пользователь выбрал имя пользователя и затем нажал кнопку, я бы хотел, чтобы currentUser был назначен объекту пользователя, которого они выбрали, но я действительно изо всех сил пытаюсь это сделать. Мой код, по сути, извлекает данные из текстового файла, причем каждая строка создается как объект (с разными атрибутами, такими как имя пользователя, имя и т. Д. c.), Затем ComboBox заполняется именем user.username. Сейчас я пытаюсь создать экземпляр объекта под названием currentUser, который имеет все атрибуты пользователя с выбранным именем пользователя.
public static ArrayList<User> readUserFile() throws FileNotFoundException{
Scanner s = new Scanner(new File("UserAccounts.txt"));
ArrayList<User> userList = new ArrayList<User>();
while (s.hasNextLine()) {
String line = s.nextLine();
String[] details = line.split(",");
user = new User(Integer.parseInt(details[0].trim()),details[1].trim(),details[2].trim(),
Integer.parseInt(details[3].trim()),details[4].trim(),details[5].trim(),
Permission.valueOf(details[6].trim()));
userList.add(user);
}
s.close();
for (User user: userList) {
String username = user.username;
System.out.println(username);
CasMainFrame.cbLogin.addItem(user.username);
}
return userList;
}
Это соответствующий код для моего gui класса .
cbLogin = new JComboBox();
cbLogin.setBounds(303, 165, 181, 27);
panelLogin.add(cbLogin);
btnLogin = new JButton("Login");
btnLogin.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//code to create currentUser
}
});
btnLogin.setBounds(334, 200, 117, 29);
panelLogin.add(btnLogin);