Was ist falsch?

Status
Nicht offen für weitere Antworten.

Phenix

Bekanntes Mitglied
Hi an alle. Ich habe hier eine Implementierung des ActionListeners. Leider funktioniert er nicht wie gewollt. Wäre nett, wenn jemand mal einen Blick drauf werfen könnte und mir sagen könnte, was ich da falsch mache. Habe zuvor die Arrays erstellt und ActionListener geaddet. Manchmal funktioniert die Methode, manchmal nicht. Aber nie funktioniert sie richtig.

Code:
    //The ActionListeners
                 public void actionPerformed(ActionEvent e) 
       {
           if(checkArray[0].isSelected())
           {
               if(descriptionsOn)
               {
                   for(int i=0; i<anzahl; i++)
                   {
                       jLabelDescribesRed[i].setVisible(true);
                       repaint();
                    }
                }
                if(valuesOn)
                {
                    for(int i=0; i<anzahl; i++)
                    {
                        jLabelArrayRed[i].setVisible(true);
                        repaint();
                    }
                }
                for(int i=0; i<anzahl; i++)
                {
                    chartsArrayRed[i].setVisible(true);
                    repaint();
                }
                repaint();
            }
        //-------------    
            if(checkArray[1].isSelected())
           {
               if(descriptionsOn)
               {
                   for(int i=0; i<anzahl; i++)
                   {
                       jLabelDescribesBlack[i].setVisible(true);
                       repaint();
                    }
                }
                if(valuesOn)
                {
                    for(int i=0; i<anzahl; i++)
                    {
                        jLabelArrayBlack[i].setVisible(true);
                        repaint();
                    }
                }
                for(int i=0; i<anzahl; i++)
                {
                    chartsArrayBlack[i].setVisible(true);
                    repaint();
                }
                repaint();
            }
       //-------------      
           if(checkArray[2].isSelected())
           {
               if(descriptionsOn)
               {
                   for(int i=0; i<anzahl; i++)
                   {
                       jLabelDescribesYellow[i].setVisible(true);
                       repaint();
                    }
                }
                if(valuesOn)
                {
                    for(int i=0; i<anzahl; i++)
                    {
                        jLabelArrayYellow[i].setVisible(true);
                        repaint();
                    }
                }
                for(int i=0; i<anzahl; i++)
                {
                    chartsArrayYellow[i].setVisible(true);
                    repaint();
                }
                repaint();
            } 
        //-------------     
           if(checkArray[3].isSelected())
           {
               if(descriptionsOn)
               {
                   for(int i=0; i<anzahl; i++)
                   {
                       jLabelDescribesGreen[i].setVisible(true);
                       repaint();
                    }
                }
                if(valuesOn)
                {
                    for(int i=0; i<anzahl; i++)
                    {
                        jLabelArrayGreen[i].setVisible(true);
                        repaint();
                    }
                }
                for(int i=0; i<anzahl; i++)
                {
                    chartsArrayGreen[i].setVisible(true);
                    repaint();
                }
                repaint();
            }
            
            //-------------     
           if(checkArray[4].isSelected())
           {
               if(descriptionsOn)
               {
                   for(int i=0; i<anzahl; i++)
                   {
                       jLabelDescribesRed2[i].setVisible(true);
                       repaint();
                    }
                }
                if(valuesOn)
                {
                    for(int i=0; i<anzahl; i++)
                    {
                        jLabelArrayRed2[i].setVisible(true);
                        repaint();
                    }
                }
                for(int i=0; i<anzahl; i++)
                {
                    chartsArrayRed2[i].setVisible(true);
                    repaint();
                }
                repaint();
            }
           
           
            
            
            
            if(checkArray[3].isSelected())
           {
               if(descriptionsOn)
               {
                   for(int i=0; i<anzahl; i++)
                   {
                       jLabelDescribesGreen[i].setVisible(true);
                       repaint();
                    }
                }
                if(valuesOn)
                {
                    for(int i=0; i<anzahl; i++)
                    {
                        jLabelArrayGreen[i].setVisible(true);
                        repaint();
                    }
                }
                for(int i=0; i<anzahl; i++)
                {
                    chartsArrayGreen[i].setVisible(true);
                    repaint();
                }
                repaint();
            }
           
           
           
           
           
           //Sets Labels, Valueslabels and Charts according to the Checkbox invisible
            if(checkArray[0].isSelected()==false)
            {
                    for (int i=0; i<anzahl; i++)
                    {
                        chartsArrayRed[i].setVisible(false);
                        jLabelDescribesRed[i].setVisible(false);
                        jLabelArrayRed[i].setVisible(false);
                        repaint();
                    }
            }
            
            if(checkArray[1].isSelected()==false)
            {
                    for (int i=0; i<anzahl; i++)
                    {
                        chartsArrayBlack[i].setVisible(false);
                        jLabelDescribesBlack[i].setVisible(false);
                        jLabelArrayBlack[i].setVisible(false);
                        repaint();
                    }
            }
            
            if(checkArray[2].isSelected()==false)
            {
                    for (int i4=0; i4<anzahl; i4++)
                    {
                        chartsArrayYellow[i4].setVisible(false);
                        jLabelDescribesYellow[i4].setVisible(false);
                        jLabelArrayYellow[i4].setVisible(false);
                        repaint();
                    }
            }
            
            if(checkArray[3].isSelected()==false)
            {
                    for (int i5=0; i5<anzahl; i5++)
                    {
                        chartsArrayGreen[i5].setVisible(false);
                        jLabelDescribesGreen[i5].setVisible(false);
                        jLabelArrayGreen[i5].setVisible(false);
                        repaint();
                    }
            }
            
            if(checkArray[4].isSelected()==false)
            {
                    for (int i2=0; i2<anzahl; i2++)
                    {
                        chartsArrayRed2[i2].setVisible(false);
                        jLabelDescribesRed2[i2].setVisible(false);
                        jLabelArrayRed2[i2].setVisible(false);
                        repaint();
                    }
            }
            
            
            repaint();
        }
Danke schonmal
 

Ebenius

Top Contributor
Mach mal am Ende der Methode
Code:
SwingUtilities.invokeLater(new Runnable() {
  @Override
  public void run() {
    revalidate();
    repaint();
  }
});

Funktioniert das? Ansonsten: Beschreib mal das Problem.
 

0x7F800000

Top Contributor
Phenix hat gesagt.:
Wäre nett, wenn jemand mal einen Blick drauf werfen könnte und mir sagen könnte, was ich da falsch mache.
von den 230 zeilen code sind mindestens 200 zuviel. Alles was nicht dry ist, ist dreck. Schmeiß es schleunigst alles raus, wozu gibts denn bitte schleifen??? :roll:
 

Phenix

Bekanntes Mitglied
ich weiss aber nich wie ich das anders machen soll.
von den 230 zeilen code sind mindestens 200 zuviel. Alles was nicht dry ist, ist dreck. Schmeiß es schleunigst alles raus, wozu gibts denn bitte schleifen???:roll:
...denn ich muss doch die Checkboxes die in dem CheckArray drin sind enzln überprüfen der nicht? Je nach Checkbox soll ja auch was unterschiedliches gelöscht werden.
 

0x7F800000

Top Contributor
Phenix hat gesagt.:
...denn ich muss doch die Checkboxes die in dem CheckArray drin sind enzln überprüfen der nicht? Je nach Checkbox soll ja auch was unterschiedliches gelöscht werden.
woher soll ich das denn wissen, du hast doch nicht erzählt was es alles ist und wozu es gut sein soll. Aber ich sehe code. SEHR VIEL CODE. Der dazu an jeder stelle fast gleich aussieht. Willst du mir erzählen, dass du völlig ohne jeglichen erkennbaren Muster den code erstellt hast? Denk ich nicht. Falls da aber ein muster drin ist, dann solltest du das Muster ausformulieren, und vom rechner umsetzen lassen, statt es selbst alles auszuschreiben. Dem rechner macht's nichts, der mag solche stumpfsinnigen sachen.
 

Phenix

Bekanntes Mitglied
Ok. Ich werd mal drüber nachdenken und das verbessern. Allerdings bleibt noch das Problem, das der das nicht richtig umsetzt. Habe probiert, dass von Ebenius einzufügen, aber hab das irgendwie nich geschafft :oops:
Kann das denn daran liegen? Sowas hab ich noch nie benutzt. Was macht das überhaupt genau?

Thx Leutz
 

Phenix

Bekanntes Mitglied
Ok, also ich hab das Problem, dass irgendwie nichts geschieht, wenn ich diese Checkboxes halt nicht mehr selektiert habe. EIgentlich sollen bei einem Klick auf eine Checkbox mehrere grafische Komponenten verschwinden. Allerdings passiert nichts, obwohl ich die Listener hinzugefügt habe.
 
J

java2000

Gast
Weisst du denn auch sicher, dass die Methode actionPerformed abgearbeitet wird? Kannst du ja rausfinden, indem du z.B. ein System.out.println("actionPerformed meldet sich") irgendwo einfügst und dann sollte das irgendwo in der Konsole gedruckt werden, wenn die Methode wirklich abgearbeitet wird.

Ausserdem kannst du unter Umständen noch ein paar repaint()s in den for-Schleifen sparen, am Ende der actionPerformed machst du das ja sowieso.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Review von euch erwünscht, double Rechnung falsch Java Basics - Anfänger-Themen 34
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
O Warum ist meine Antwort falsch? Java Basics - Anfänger-Themen 3
O Warum ist die Auswahl falsch? Java Basics - Anfänger-Themen 4
J Erste Schritte Was mache ich in meinem Code falsch. Java Basics - Anfänger-Themen 3
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R FXMLLoader Pfad falsch`? Java Basics - Anfänger-Themen 4
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
J String wird in GUI falsch ausgegeben Java Basics - Anfänger-Themen 10
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2
J Was mache ich falsch in meiner Java Anwendung? Java Basics - Anfänger-Themen 11
N Javac -version der Befehl ist entweder falsch geschrieben oder...... Java Basics - Anfänger-Themen 8
Z Klassen Error: ';' expected - was mache ich falsch? Java Basics - Anfänger-Themen 4
A Ich habe das Gefühl etwas grundlegendes falsch zu machen Java Basics - Anfänger-Themen 6
L Ist an diesem Befehl irgendwas falsch? Java Basics - Anfänger-Themen 2
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
M Was ist daran falsch Java Basics - Anfänger-Themen 2
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
L AES - Irgendwas falsch? Java Basics - Anfänger-Themen 0
H Koordinaten gehen falsch ! Java Basics - Anfänger-Themen 13
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Was ist falsch? Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Was ist falsch? Java Basics - Anfänger-Themen 23
D Prozente werden falsch berechnet Java Basics - Anfänger-Themen 8
F for Schleife zählt falsch Java Basics - Anfänger-Themen 6
S Variable wird falsch gesetzt Java Basics - Anfänger-Themen 5
J ArrayList wird in JTable falsch angezeigt Java Basics - Anfänger-Themen 0
D Aktuelles Datum wird falsch ausgegeben Java Basics - Anfänger-Themen 2
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
D Matritzenmultiplikation berechnet Werte falsch Java Basics - Anfänger-Themen 9
J ireport Designer / CSV / Sonderzeichen was läuft falsch Java Basics - Anfänger-Themen 7
W Was ist bei folgendem Code falsch? Java Basics - Anfänger-Themen 5
C Array wird falsch befüllt? Java Basics - Anfänger-Themen 7
L Methoden Histogramm, Methode berechnet falsch. Java Basics - Anfänger-Themen 7
Silvascus Was mache ich falsch? Java Basics - Anfänger-Themen 15
L Variable an andere Klasse weitergeben - Was mache ich falsch? Java Basics - Anfänger-Themen 2
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
J Java rechnet -0.94 + 0.01 falsch Java Basics - Anfänger-Themen 14
J Dekrement läuft offenbar falsch Java Basics - Anfänger-Themen 6
X Warum ist das falsch -.- Java Basics - Anfänger-Themen 4
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
J Java: Was habe ich falsch gemacht? Java Basics - Anfänger-Themen 4
T Input/Output GregorianCalender gibt falsch aus? Java Basics - Anfänger-Themen 4
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
O Zeitmessung falsch Java Basics - Anfänger-Themen 7
J Klassen Fehler Datei kopieren - was mache ich falsch Java Basics - Anfänger-Themen 19
C Ausgabe vom Array falsch ? Java Basics - Anfänger-Themen 3
S Mengenklammer falsch, Warum? Java Basics - Anfänger-Themen 6
J BlueJ öffnet package falsch Java Basics - Anfänger-Themen 2
C Extrem einfache Aufgabe falsch beantwortet :$ Java Basics - Anfänger-Themen 6
H Punkte werden falsch verbunden Java Basics - Anfänger-Themen 6
F String wird richtig in konsole geschrieben aber falsch an Methode übergeben Java Basics - Anfänger-Themen 8
K Runnable oder Keyadapter läuft falsch Java Basics - Anfänger-Themen 4
U Attributsnamen korrekt oder falsch? Java Basics - Anfänger-Themen 4
B Bewegung falsch Java Basics - Anfänger-Themen 33
M .jar wird falsch generiert? Java Basics - Anfänger-Themen 9
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
M Classpath Jar nicht ausführbar, Classpath warscheinlich falsch Java Basics - Anfänger-Themen 10
D Warum ist diese Interfacedeklaration falsch? Java Basics - Anfänger-Themen 5
A Textdatei einlesen - erstes Zeichen falsch Java Basics - Anfänger-Themen 20
M Was ist daran falsch ? Java Basics - Anfänger-Themen 5
M ; Fehler. Was ist falsch? Java Basics - Anfänger-Themen 4
K Was ist hier Falsch? Java Basics - Anfänger-Themen 3
B Eclipse zeigt code als falsch an Java Basics - Anfänger-Themen 19
R Ausgabe wird falsch angezeigt! Java Basics - Anfänger-Themen 14
O BufferedImage drehen, falsch positioniert Java Basics - Anfänger-Themen 5
L Erste Schritte Was mach ich falsch? thx Java Basics - Anfänger-Themen 3
M Erste Schritte Nachkommastellen falsch bei Rechnung Java Basics - Anfänger-Themen 3
E Kann mir jemand sagen was hier falsch ist? Java Basics - Anfänger-Themen 6
X cmd stellt falsch/zu weinig dar Java Basics - Anfänger-Themen 4
A Variablen Was mache Ich falsch? Java Basics - Anfänger-Themen 5
K Array fehler... was mach ich falsch? Java Basics - Anfänger-Themen 3
M Erste Schritte Jcreator falsch eingerichtet? Java Basics - Anfänger-Themen 10
W Was ist falsch? Java Basics - Anfänger-Themen 14
P Java rechnet falsch! (ab 6stelligen Zahlen) Java Basics - Anfänger-Themen 14
T Diagrammwerte werden falsch herum angezeigt Java Basics - Anfänger-Themen 6
A was mache ich falsch? Java Basics - Anfänger-Themen 3
1 Integer wird falsch in Datei geschrieben Java Basics - Anfänger-Themen 13
Z css pfad falsch Java Basics - Anfänger-Themen 7
M exception catch falsch? Java Basics - Anfänger-Themen 11
E Comparator sortiert falsch... Java Basics - Anfänger-Themen 2
X Primzahl Ausgabe falsch Java Basics - Anfänger-Themen 10
V Eingabe String wird falsch erkannt Java Basics - Anfänger-Themen 7
U Was ist an diesem Code falsch? Java Basics - Anfänger-Themen 10
StrikeTom Was ist an dieser einfachen funktion falsch? Java Basics - Anfänger-Themen 5
StrikeTom Was ist falsch(Kolision) Java Basics - Anfänger-Themen 6
S Pfad für Datei falsch - wie richtig angeben? Java Basics - Anfänger-Themen 7
P Was ist hier falsch? Java Basics - Anfänger-Themen 6
B Warum kommt immer die 0 als Ergebnis? Was habe ich falsch gemacht? Java Basics - Anfänger-Themen 18
S wieso ist mein Code falsch? Java Basics - Anfänger-Themen 2
W Grid Layout wird falsch dargestellt Java Basics - Anfänger-Themen 4
R jLabel.setBackground - falsch angewendet? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben