J'ai une interface graphique qui est principalement un sondage, lorsque l'enquête est terminée l'information serait extrait à une table, j'ai actuellement du mal à obtenir toutes les informations, j'ai créé un Actionlistener appelé gestionnaire de finition qui est attaché au bouton de l'interface graphique de l'enquête "Terminé". Lorsque le bouton Terminer est cliqué, il extrait toutes les informations et les stocke dans ma classe DataStorage. Ci-dessous mon interface graphique d'enquête, la classe actionListener et la classe datastorage.obtenir des informations de différents JComponents
/*********frame3 Survey*********/
frame3 = new JFrame();
frame3.setTitle("Student Survey");
frame3.setLayout(new MigLayout());
frame3.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
btnFinish = new JButton("Finish!");
btnFinish.addActionListener(new FinishHandler());
pSSFinish = new JPanel();
pSSFinish.add(btnFinish);
String[] levelStrings = { "1.1", "1.2", "2.1", "2.2", "3.1", "3.2" };
String[] DipStrings = { "Info-Communications", "Computer Engineering", "Mechatronics", "Electronics"};
jcbDip = new JComboBox(DipStrings);
jcbLvl = new JComboBox(levelStrings);
jcbDip.addActionListener(new FinishHandler());
jcbLvl.addActionListener(new FinishHandler());
//pSSInfo
pSSInfo = new JPanel();
pSSInfo.setBorder(loweredetched);
pSSInfo.setLayout(new MigLayout());
lblSSTitleName = new JLabel("Name:");
lblSSTitleID = new JLabel("Student ID:");
lblSSName = new JLabel("");
lblSSID = new JLabel("");
pSSInfo.add(lblSSTitleName);
pSSInfo.add(lblSSName,"wrap");
pSSInfo.add(lblSSTitleID);
pSSInfo.add(lblSSID);
//pSSCourse
pSSCourse = new JPanel();
pSSCourse.setBorder(titleCourse);
pSSCourse.setLayout(new MigLayout());
lblSSCourseDip = new JLabel("Diploma:");
lblSSCourseLvl = new JLabel("Level:");
lblSSCourseCre = new JLabel("No of credits:");
txfSSCourse = new JTextField(8);
pSSCourse.add(lblSSCourseDip);
pSSCourse.add(jcbLvl,"wrap");
pSSCourse.add(lblSSCourseLvl);
pSSCourse.add(jcbDip,"wrap");
pSSCourse.add(lblSSCourseCre);
pSSCourse.add(txfSSCourse);
//pSSAge
pSSAge = new JPanel();
pSSAge.setBorder(raisedbevel);
lblSSAge = new JLabel("Age");
txfSSAge = new JTextField(8);
pSSAge.add(lblSSAge);
pSSAge.add(txfSSAge);
//pSSGender
String male = "Male";
String female = "Female";
btnMale = new JRadioButton(male);
btnMale.addActionListener(new FinishHandler());
btnFemale = new JRadioButton(female);
btnFemale.addActionListener((new FinishHandler()));
ButtonGroup group = new ButtonGroup();
group.add(btnMale);
group.add(btnFemale);
pSSGender = new JPanel();
pSSGender.setBorder(titleGender);
pSSGender.setLayout(new MigLayout());
pSSGender.add(btnMale,"wrap");
pSSGender.add(btnFemale);
//pSSMisc
pSSMisc = new JPanel();
pSSMisc.setBorder(titleMisc);
pSSMisc.setLayout(new MigLayout());
cbMiscPt = new JCheckBox("Working Part Time");
cbMiscPt.addItemListener(new FinishHandler());
cbMiscPc = new JCheckBox("Have own PC/NoteBook");
cbMiscPc.addItemListener(new FinishHandler());
cbMiscChild = new JCheckBox("Have children");
cbMiscChild.addItemListener(new FinishHandler());
pSSMisc.add(cbMiscPt,"wrap");
pSSMisc.add(cbMiscPc,"wrap");
pSSMisc.add(cbMiscChild);
frame3.add(pSSFinish,"dock south");
frame3.add(pSSInfo,"dock north");
frame3.add(pSSCourse,"dock west");
frame3.add(pSSAge,"wrap, grow");
frame3.add(pSSGender);
frame3.add(pSSMisc,"dock east");
frame3.pack();
frame3.setVisible(false);
/finish/
class FinishHandler implements ActionListener, ItemListener
{
public void actionPerformed(ActionEvent e)
{ //System.out.println("current login in student is: "+ds.getStudent(currentUser).getUser());
ds.getStudent(currentUser).setDiploma((String)jcbDip.getSelectedItem());
System.out.println(ds.getStudent(currentUser).getDiploma());//debug
ds.getStudent(currentUser).setLevel((String)jcbLvl.getSelectedItem());
System.out.println(ds.getStudent(currentUser).getLevel());//debug
ds.getStudent(currentUser).setCredits(txfSSCourse.getText());
System.out.println(ds.getStudent(currentUser).getCredits());//debug
ds.getStudent(currentUser).setAge(txfSSAge.getText());
System.out.println(ds.getStudent(currentUser).getAge());
if(btnMale.getText().equals("Male"))
{
ds.getStudent(currentUser).setGender("Male");
System.out.println(ds.getStudent(currentUser).getGender());//debug
}
else if(btnFemale.getText().equals("Female"))
{
ds.getStudent(currentUser).setGender("Female");
System.out.println(ds.getStudent(currentUser).getGender());//debug
}
if(btnMale.getText().equals(""))
{
ds.getStudent(currentUser).setGender("Did not set");
System.out.println(ds.getStudent(currentUser).getGender());//debug
}
}
public void itemStateChanged(ItemEvent e)
{
Object source = e.getItemSelectable();
if (source == cbMiscPt)
{
ds.getStudent(currentUser).setPartTime(true);
System.out.println(ds.getStudent(currentUser).getPartTime());//debug
}
else if (source == cbMiscPc)
{
ds.getStudent(currentUser).setHavePc(true);
System.out.println(ds.getStudent(currentUser).getHavePc());//debug
}
else if (source == cbMiscChild)
{
ds.getStudent(currentUser).setHaveChild(true);
System.out.println(ds.getStudent(currentUser).getHaveChild());//debug
}
if (e.getStateChange() == ItemEvent.DESELECTED)
{
if (source == cbMiscPt)
{
ds.getStudent(currentUser).setPartTime(false);
System.out.println(ds.getStudent(currentUser).getPartTime());//debug
}
else if (source == cbMiscPc)
{
ds.getStudent(currentUser).setHavePc(false);
System.out.println(ds.getStudent(currentUser).getHavePc());//debug
}
else if (source == cbMiscChild)
{
ds.getStudent(currentUser).setHaveChild(false);
System.out.println(ds.getStudent(currentUser).getHaveChild());//debug
}
}
}
}
/**** DataSotrage classe ***/
import java.util.*;
public class DataStorage
{
HashMap<String, Student> students = new HashMap<String, Student>();
HashMap<String, Staff> staffMembers = new HashMap<String, Staff>();
//Default constructor
public DataStorage(){
}
public void addStaffMember(Staff aAcc)
{
staffMembers.put(aAcc.getUser(),aAcc);
}
public void addStudentMember(Student aAcc)
{
students.put(aAcc.getUser(),aAcc);
}
public Staff getStaffMember(String user)
{
return staffMembers.get(user);
}
public Student getStudent(String user)
{
return students.get(user);
}
}
Quelle est la question? – Jonas
le gui ci-dessus a Jcomponents comme Textfields, comboxes radiobuttons qu'un utilisateur connecté doit remplir, je suis coincé sur la façon d'extraire toutes les données après que l'utilisateur a appuyé sur un bouton appelé Finish et les stocker dans l'objet utilisateur connecté j'ai essayé ajouter un gestionnaire à chacun des widgets correspondants, car si je ne le fais pas lorsque je les débogue, ils ne reçoivent pas de réponse quand un changement est fait, comme changer de mâle à femelle. – sutoL