Addstudent
5つのコンボボックスを備えたフレームでは、ボックスがさまざまな配列で埋められています。現在、フレームが単独で実行されている場合、コンボボックスは問題ありません。表示したい配列のすべての項目が表示されます。
ただし、フレームから切り替えてフレームに戻るe.g. (via button actions) AddStudent frame-> NewFrame -> AddStudent frame
と、コンボボックスは空で表示され、配列はロードされていません。
「NewFrame」フレームから「AddStudent」フレームに切り替えるボタン
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
ComboboxFrame CF = new ComboboxFrame();
CF.setVisible(true);
setVisible(false);
}
配列をコンボボックスにロードするために使用される「AddStudent」フレームのコーディング
public class AddStudent extends javax.swing.JFrame {
/**
* Creates new form AddStudent
*/
public AddStudent()
{
initComponents();
}
List<String> sundayList;
List<String> mondayList;
List<String> tuesdayList;
List<String> wednesdayList;
List<String> thursdayList;
private void loadLists() throws IOException
{
//Creating the array of Activities to put into the ComboBoxes
File f = new File("Activities.dat");
sundayList = new ArrayList<>();
mondayList= new ArrayList<>();
tuesdayList= new ArrayList<>();
wednesdayList= new ArrayList<>();
thursdayList= new ArrayList<>();
try{
BufferedReader reader = new BufferedReader(new FileReader(f));
while(reader.ready())
{
String CDay = reader.readLine();
String CActivityName = reader.readLine();
String CSupervisor = reader.readLine();
String CLocation = reader.readLine();
String CPaid = reader.readLine();
String nothing = reader.readLine();
if(CDay.equals("Sunday"))
{
sundayList.add(CActivityName);
}
else if(CDay.equals("Monday"))
{
mondayList.add(CActivityName);
}
else if(CDay.equals("Tuesday"))
{
tuesdayList.add(CActivityName);
}
else if(CDay.equals("Wednesday"))
{
wednesdayList.add(CActivityName);
}
else if(CDay.equals("Thursday"))
{
thursdayList.add(CActivityName);
}
}
sundayList.add("-");
mondayList.add("-");
tuesdayList.add("-");
wednesdayList.add("-");
thursdayList.add("-");
reader.close();
}
catch (IOException ex)
{
Logger.getLogger(StartUpFrame.class.getName()).log(Level.SEVERE, null, ex);
}
comboboxSunday.setModel(new DefaultComboBoxModel<>(sundayList.toArray(new String[sundayList.size()])));
comboboxMonday.setModel(new DefaultComboBoxModel<>(mondayList.toArray(new String[mondayList.size()])));
comboboxTuesday.setModel(new DefaultComboBoxModel<>(tuesdayList.toArray(new String[tuesdayList.size()])));
comboboxWednesday.setModel(new DefaultComboBoxModel<>(wednesdayList.toArray(new String[wednesdayList.size()])));
comboboxThursday.setModel(new DefaultComboBoxModel<>(thursdayList.toArray(new String[thursdayList.size()])));
}
...
...
...
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AddStudent addStudent = new AddStudent();
addStudent.loadLists();
addStudent.setVisible(true);
} catch (IOException ex) {
Logger.getLogger(AddStudent.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
}
}