Hallo,
Also ich habe ein Riesen Problem:
Ein Objekt einer Klasse soll mir den Inhalt eines Vectors (=IndexIn), als anwaehlbare Eigenschaften, in Form von einer Liste von Checkboxen in einem Fenster praesentieren.
Ich habe v.a. die Probleme:
Wie schaffe ich es, nach klicken von OK, die ge-checkten Felder der JCheckBox in den Vektor IndexOut zu schreiben?
Wie uebergebe ich den Vektor IndexOut am besten, so dass er auch die Optionen enthaelt? Mir ist aufgefallen, das eigentlich nix zurueckkommt, ich denke das es wohl an irgendeiner Sache liegt, die was mit Threads zu tun hat ???
Da ich mich noch nicht wirklich in Java auskenne hoffe ich auf ausfuehrliche Antworten, ich bin auch immer sehr ueber Codestellen dankbar :wink:
Also ich habe ein Riesen Problem:
Ein Objekt einer Klasse soll mir den Inhalt eines Vectors (=IndexIn), als anwaehlbare Eigenschaften, in Form von einer Liste von Checkboxen in einem Fenster praesentieren.
Code:
public class FilePresentation extends JFrame implements ActionListener {
...
// Es soll ein Array von CheckBoxen erstellt werden:
private JCheckBox[] cb;
...
// ...mit der Laenge (=size), welche gleich der Anzahl der Elemente im Vektor ist
size = IndexIn.size();
...
...
...
// Funktion chooseOption() soll das JCheckBox-Array darstellen :
public Vector chooseOption(){
...
JPanel cbPanel = new JPanel(new GridLayout(0,1));
cb = new JCheckBox[size];
for(int cnt = 0; cnt < size; cnt++){
cb[cnt] = new JCheckBox((cnt + 1)+ ". " + String.valueOf(IndexIn.get(cnt)));
cb[cnt].addActionListener(this);
cbPanel.add(cb[cnt]);
}
JScrollPane scrollpane = new JScrollPane(cbPanel);
getContentPane().add(scrollpane, BorderLayout.CENTER);
...
// ...und schliesslich am Schluss den Vektor der nun ausgewaehlten Optionen
// zurueckgeben:
setSize(300,300);
show();
return IndexOut;
}
...
...
...
// ...und die Funktion actionPerformed() sollte bei clicken eines OK-Button
// im Fenster, die angewaehlten Optionen in den zweiten Vector IndexOut
// schreiben.
...
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == cancel){
System.exit(0);
}else if(arg0.getSource() == ok){
System.exit(0);
// tja - genau hier sollte dann nach klicken von OK das Array der CheckBoxen
// durchgegangen werden und bei geklickter CheckBox eben der Name der Checkbox
// als String am Ende des Vectors IndexOut angehaengt werden.
for(int cnt = 0; cnt < size; cnt++){
if(cb[cnt].isSelected() == true){
IndexOut.addElement(String.valueOf(IndexIn.get(cnt)));
}
}
}
}
Ich habe v.a. die Probleme:
Wie schaffe ich es, nach klicken von OK, die ge-checkten Felder der JCheckBox in den Vektor IndexOut zu schreiben?
Wie uebergebe ich den Vektor IndexOut am besten, so dass er auch die Optionen enthaelt? Mir ist aufgefallen, das eigentlich nix zurueckkommt, ich denke das es wohl an irgendeiner Sache liegt, die was mit Threads zu tun hat ???
Da ich mich noch nicht wirklich in Java auskenne hoffe ich auf ausfuehrliche Antworten, ich bin auch immer sehr ueber Codestellen dankbar :wink: