Obtenir JCheckBox sélectionné valeur de la zone de

Que je veux poser est-il un moyen d'obtenir des informations de JCheckBox sans actionListener. Dans mon code, je l'ai scanner un fichier de chaînes et chaque ligne contient des données qui, si elle est sélectionnée, doit être ajoutée à un tableau dans mon programme. Le problème, c'est que je ne sais jamais combien de JCheckBoxes j'aurai, il dépend de fichier.

Donc, ma question est comment mettre sélectionné les chaînes dans un tableau (ou une liste) avec une pression d'un bouton (ok) donc je peux faire quelque chose avec eux (dans mon cas, j'ai besoin d'obtenir des données à partir du fichier ou de la main de l'entrée et de la mettre dans un rouge-l'arbre noir, donc je vais avoir besoin de pousser sélectionné cordes à mon putDataInTheTree méthode).

EDIT: Aussi, est-il possible de ne pas montrer à ceux JCheckBoxes qui a déjà été ajoutée au programme? I. E. si je choisis des fluides, la prochaine fois j'appelle la méthode d'entrée des fluides habitude de se présenter dans mon panneau?

Merci d'avance!

À quoi il ressemble:

Obtenir JCheckBox sélectionné valeur de la zone de

Mon code est:

public void input() {
    try {
        mainWindow.setEnabled(false);
        fromFile = new JFrame("Input from file");
        fromFile.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        fromFile.setLayout(new BorderLayout());
        fromFile.setSize(300,200);
        panelFromFile = new JPanel();
        panelFromFile.setLayout(new java.awt.GridLayout(0,1));
        JScrollPane scrollPane2 = new JScrollPane(panelFromFile); 
        scrollPane2.setMaximumSize(new Dimension(300, 180));

        FileReader File = new FileReader(data);
        BufferedReader Buffer = new BufferedReader(File); 
        while ((info = Buffer.readLine()) != null) {
            if (info != null) {
                JCheckBox check = new JCheckBox(info);
                panelFromFile.add(check);
            }
        }
        ok = new JButton("ok");
        ok.addActionListener(this);
        fromFile.add(scrollPane2, BorderLayout.CENTER);
        fromFile.add(ok, BorderLayout.SOUTH);
        fromFile.setLocationRelativeTo(null);
        fromFile.setResizable(false);
        fromFile.setVisible(true);
    }
    catch(Exception e) {
        text.append("Error in INPUT method");
        text.append(System.getProperty("line.separator"));
    }
}

OriginalL'auteur Marius Katinas | 2012-11-17