tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
532
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    yannig7 yannig7 ist offline Mitglied
    Registriert seit
    Sep 2011
    Beiträge
    14
    Hey Leute

    Ich hab ein kleines Problem. Ich hab ein JPanel in dem stehen viele JLabes und JCheckBox drin. wenn ich nun die checkBox auswähle und auf ein Button drücke, wird dieser entfernt. Soweit so gut . Das ganze ist variable steht also in einer txt Datei drin. Nun kann ich aber immer nur eine Box auswählen und diese einzeln löschen.

    Hier mal ein Einblick.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    for (int i = 1; i < t; i++) {
     
     
                if (checkBox[i].isSelected() == true) {
     
     
     
                    for (int l = 0; l < t; l++) {
     
                        zeile[l] = br.readLine();
     
                    }
     
     
                    kn = 0; // counter
                    while (!zeile[kn].equals(label[i].getText())) {
     
                        f.write(zeile[kn] + "\n");
                        kn++;
                        System.out.println("test = " + zeile[kn].toString());
                    }
                    kn++;
     
                    while (!zeile[kn].equals("#e")) {               // #e für ende
                        f.write(zeile[kn] + "\n");
                        kn++;
                    }
     
                }
     
            }
     
     
            br.close();
            f.close();
     
     
            alteDatei.delete();
            neueDatei.renameTo(alteDatei);
     
        }

    Habt ihr Tipps oder Anregungen wie ich es packen könnte, das ich mehrere auswählen kann und auch diese gelöscht werden?

    Liebe grüße und Frohe Weihnachten.
     

  2. #2
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Da die JCheckBoxes in einem Array gespeichert sind, ist es keine gute Idee diese zu löschen. Viemehr bietet es sich an, die JCheckBoxes unsichtbar zu machen, da diese über die Methode setVisible() verfügen. Ich habe auf die Schnelle ein kleines Testprogramm geschrieben, dass mehrere JCheckBoxes auf einmal unsichtbar macht. Hierzu müssen zuerst die CheckBox(en) aufgewählt und dann den Button "Delete" aktiviert werden.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    
    package checkbox;
     
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class CheckBoxTest extends JFrame implements ActionListener {
     
        private static final long serialVersionUID = 1L;
        private JCheckBox[] boxes;
        private JButton deleteB, exitB;
        private JPanel center, south;
     
        public void initPanel() {
            boxes = new JCheckBox[6];
            for (int i = 0; i < 6; i++) {
                boxes[i] = new JCheckBox("box" + i);
                center.add(boxes[i]);
            }
        }
     
        public CheckBoxTest() {
            center = new JPanel();
            south = new JPanel();
            deleteB = new JButton("Delete");
            exitB = new JButton("Exit");
            deleteB.addActionListener(this);
            exitB.addActionListener(this);
            south.add(deleteB);
            south.add(exitB);
     
            initPanel();
            getContentPane().add(center, BorderLayout.CENTER);
            getContentPane().add(south, BorderLayout.SOUTH);
        }
     
        public void actionPerformed(ActionEvent e) {
            String s = e.getActionCommand();
            if (s.equals("Delete")) {
                for (JCheckBox box : boxes) {
                    if (box.isSelected() == true && box.isVisible()) {
                        System.out.println(box.getActionCommand()
                                + " wurde unsichtbar gemacht");
                        // nicht löschen, sondern unsichtbar machen
                        box.setVisible(false);
                    }
                }
            System.out.println("----------- Ende unsichtbar machen ----------");
            } else if (s.equals("Exit")) {
                System.exit(DISPOSE_ON_CLOSE);
            }
        }
     
        public static void main(String[] args) {
            CheckBoxTest cbt = new CheckBoxTest();
            cbt.setBounds(100, 100, 300, 400);
            cbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            cbt.setVisible(true);
        }
    }
    Geändert von j2se (23.12.11 um 17:10 Uhr)
     

  3. #3
    yannig7 yannig7 ist offline Mitglied
    Registriert seit
    Sep 2011
    Beiträge
    14
    aber das ist ja in einer Liste untereinander und wenn ich die nur unsichtbar mach, rücken sie nicht auf außerdem geht das mit der Zeit ziemlich auf den Speicher. Mhh danke trotzdem für die Antwort. Hat noch jemand anderes Vorschläge?
     

  4. #4
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Dann poste doch einmal den Code für "das ist ja in einer Liste untereinander".
     

Ähnliche Themen

  1. Formularvalidator - Anregungen?
    Von mAu im Forum PHP
    Antworten: 5
    Letzter Beitrag: 19.12.08, 13:59
  2. JCheckbox
    Von Shaihulud im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 02.04.07, 06:50
  3. Einladungskarte Anregungen
    Von Salia im Forum Creative Lounge
    Antworten: 7
    Letzter Beitrag: 24.10.06, 14:28
  4. Bitte um Anregungen
    Von Ellinar im Forum Werkstatt
    Antworten: 8
    Letzter Beitrag: 13.10.05, 13:55
  5. Anregungen gesucht
    Von Xeal87 im Forum Creative Lounge
    Antworten: 6
    Letzter Beitrag: 14.08.04, 21:10

Stichworte