Hallo!
Ich habe ein Problem mit JCheckBox:
aus einer java-Application wird ein zweites Fenster mit JCheckboxen geöffnet, die aus einer Liste
abgeleitet werden.
Jetzt stecke ich irgendwie fest.
Ich möchte feststellen, spätestens wenn das zweiter Fenster geschlossen wird,
welche Boxen gedrückt worden sind und diese Liste zurückgeben.
Vielen Dank für irgendwelche Hilfe!!
Anbei ein Auszug der Quellen.
Ich habe ein Problem mit JCheckBox:
aus einer java-Application wird ein zweites Fenster mit JCheckboxen geöffnet, die aus einer Liste
abgeleitet werden.
Jetzt stecke ich irgendwie fest.
Ich möchte feststellen, spätestens wenn das zweiter Fenster geschlossen wird,
welche Boxen gedrückt worden sind und diese Liste zurückgeben.
Vielen Dank für irgendwelche Hilfe!!
Anbei ein Auszug der Quellen.
Code:
ArrayList liste = new ArrayList();
//Create a new internal frame.
protected void createLSTFrame() {
//Create and set up the window.
if ( frame == null )
frame = new JFrame ("Auswahl aus Liste");
//Make sure we have nice window decorations.
JFrame.setDefaultLookAndFeelDecorated(true);
if (lstliste.size()<2) {
JOptionPane.showMessageDialog(frame, (liste.size()<1? "Kein":"Nur ein") + " Wert in Liste vorhanden");
} else {
//Create and set up the content pane.
JComponent newContentPane = new LISTENCheckBox (liste);
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Display the window.
frame.setResizable(false);
frame.setLocation(300,200);
frame.setSize(200,lstliste.size()*30);
//frame.pack();
frame.setVisible(true);
}
}
LISTENCheckBox.java :
---------------------
import java.util.ArrayList;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LISTENCheckBox extends JPanel
implements ItemListener {
JCheckBox cb[];
int cnt;
public LSTCheckBox(ArrayList liste) {
super(new BorderLayout());
//Create the check boxes.
cnt = liste.size();
JCheckBox cb[] = new JCheckBox[cnt];
setLayout(new GridLayout(cnt, 1));
for (int i = 0; i < cnt; ++i) {
cb[i] = new JCheckBox ( " " + liste.get(i) );
add(cb[i]);
cb[i].addItemListener(this);
}
}
public void itemStateChanged(ItemEvent e) {
for (int i = 0; i < cnt; ++i) {
if (cb[i] != null) {
if (e.getSource().equals(cb[i])) {
// hier geht es irgendwie weiter
// wenn da nicht dieser NullpointerException waere...
}
}
}
}
}