mein erstes großes Programm. Was ändern? verbessern?

Status
Nicht offen für weitere Antworten.

Bierhumpen

Bekanntes Mitglied
Hi,

also ich habe jetzt ein wenig rumprogrammiert und ein halb lauffähiges programm geschrieben.

nun wollte ich einfach mal euere meinung erfahren und ein paar tipps was man besser machen könnte...

ist halt mein erstes "größerers" Projekt.
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

/**
* Java WM Tool für Ergebnisse - Wetten - Auswertungen
* @version 1.0
*/

class Hauptfenster extends JFrame implements ActionListener{
    
    
    // Gruppenmannschaften 
    String [] mannschaftenA = {"Deutschland","Costa Rica","Polen","Ecuador"};
    String [] mannschaftenB = {"England","Paraguay","Trinidad und Tobago","Schweden"};
    String [] mannschaftenC = {"Argentinien","Elfenbeinküste","Serbien Montenegro","Niederlande"};
    String [] mannschaftenD = {"Mexiko","Iran","Angola","Portugal"};
    String [] mannschaftenE = {"Italien","Ghana","USA","Tschechien"};
    String [] mannschaftenF = {"Brasilien","Kroatien","Australien","Japan"};
    String [] mannschaftenG = {"Frankreich","Schweiz","Südkorea","Togo"};
    String [] mannschaftenH = {"Spanien","Ukraine","Tunesien","Saudi-Arabien"};
    String [] mannschaftenAF = {""};
    String [] mannschaftenVF = {""};
    String [] mannschaftenHF = {""};
    String [] mannschaftenFin = {""};
    
    // Alle Fenster erstellen
    Willkommenfenster wfInfos = new Willkommenfenster(false, "Infos", false);
    Spielerfenster sfEdit = new Spielerfenster();
    Gruppenfenster gfGruppeA = new Gruppenfenster(mannschaftenA, "Gruppe A ");
    Gruppenfenster gfGruppeB = new Gruppenfenster(mannschaftenB, "Gruppe B ");
    Gruppenfenster gfGruppeC = new Gruppenfenster(mannschaftenC, "Gruppe C ");
    Gruppenfenster gfGruppeD = new Gruppenfenster(mannschaftenD, "Gruppe D ");
    Gruppenfenster gfGruppeE = new Gruppenfenster(mannschaftenE, "Gruppe E ");
    Gruppenfenster gfGruppeF = new Gruppenfenster(mannschaftenF, "Gruppe F ");
    Gruppenfenster gfGruppeG = new Gruppenfenster(mannschaftenG, "Gruppe G ");
    Gruppenfenster gfGruppeH = new Gruppenfenster(mannschaftenH, "Gruppe H ");
    Gruppenfenster gfAchtelfinale = new Gruppenfenster(mannschaftenAF, "Achtelfinale ");
    Gruppenfenster gfViertelfinale = new Gruppenfenster(mannschaftenVF, "Viertelfinale ");
    Gruppenfenster gfHalbfinale = new Gruppenfenster(mannschaftenHF, "Halbfinale ");
    Gruppenfenster gfFinale = new Gruppenfenster(mannschaftenFin, "Finale ");
    
    // Booleans für die Sichtbarkeit der Fenster! Derzeit offen oder nicht!
    boolean boolGruppeA = false;
    boolean boolGruppeB = false;
    boolean boolGruppeC = false;
    boolean boolGruppeD = false;
    boolean boolGruppeE = false;
    boolean boolGruppeF = false;
    boolean boolGruppeG = false;
    boolean boolGruppeH = false;
    boolean boolAchtelfinale = false;
    boolean boolViertelfinale = false;
    boolean boolHalbfinale = false;
    boolean boolFinale = false;
    public static boolean boolSpieler = false;
    public static boolean boolInfo = false;
    
    JLabel auswahl = new JLabel ("Wählen Sie: ");
    Object isActive = null;
    
    // Gruppen Buttons
    JButton gruppeA = new JButton ("Gruppe A");
    JButton gruppeB = new JButton ("Gruppe B");
    JButton gruppeC = new JButton ("Gruppe C");
    JButton gruppeD = new JButton ("Gruppe D");
    JButton gruppeE = new JButton ("Gruppe E");
    JButton gruppeF = new JButton ("Gruppe F");
    JButton gruppeG = new JButton ("Gruppe G");
    JButton gruppeH = new JButton ("Gruppe H");
    
    // x-Finale Buttons
    JButton achtelfinale = new JButton ("Achtelfinale");
    JButton viertelfinale = new JButton ("Viertelfinale");
    JButton halbfinale = new JButton ("Halbfinale");
    JButton finale = new JButton ("FINALE");
    
    // Sonstige Buttons
    JButton beenden = new JButton ("Beenden");
    JButton infos = new JButton ("Infos");
    JButton spieler = new JButton ("Spieler verwalten");
    
    // Sämtliche Panel
    JPanel buttonsSouth = new JPanel();
    JPanel hauptbuttons = new JPanel();
    
    JFrame fenster = new JFrame("WM 2006");
    
    // Freiraum einfügen
    void freiraum(JPanel x){
        JPanel freiraum = new JPanel();
        freiraum.setPreferredSize(new Dimension(148,20));
        x.add(freiraum);
    }
    
    //Buttongröße etc einfügen
    void buttonadd(JButton jb, JPanel x, String bezeichnung){
        jb.setPreferredSize(new Dimension(148,28));
        x.add(jb);
        jb.addActionListener(this);
        jb.setActionCommand(bezeichnung);
    }
    
    // Button Events festlegen
    public void actionPerformed(ActionEvent e){
        if (e.getActionCommand().equals("gruppeA")){
            if (!boolGruppeA){
                gfGruppeA.setVis(true);
                boolGruppeA = true;
                isActive = gfGruppeA;
            }
            else {
                if (isActive!=gfGruppeA){
                    gfGruppeA.setVis(true);
                    isActive = gfGruppeA;
                }
                else{
                    gfGruppeA.setVis(false);
                    boolGruppeA = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeB")){
            if (!boolGruppeB){
                gfGruppeB.setVis(true);
                boolGruppeB = true;
                isActive = gfGruppeB;
            }
            else {
                if (isActive!=gfGruppeB){
                    gfGruppeB.setVis(true);
                    isActive = gfGruppeB;
                }
                else{
                    gfGruppeB.setVis(false);
                    boolGruppeB = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeC")){
            if (!boolGruppeC){
                gfGruppeC.setVis(true);
                boolGruppeC = true;
                isActive = gfGruppeC;
            }
            else {
                if (isActive!=gfGruppeC){
                    gfGruppeC.setVis(true);
                    isActive = gfGruppeC;
                }
                else{
                    gfGruppeC.setVis(false);
                    boolGruppeC = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeD")){
            if (!boolGruppeD){
                gfGruppeD.setVis(true);
                boolGruppeD = true;
                isActive = gfGruppeD;
            }
            else {
                if (isActive!=gfGruppeD){
                    gfGruppeD.setVis(true);
                    isActive = gfGruppeD;
                }
                else{
                    gfGruppeD.setVis(false);
                    boolGruppeD = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeE")){
            if (!boolGruppeE){
                gfGruppeE.setVis(true);
                boolGruppeE = true;
                isActive = gfGruppeE;
            }
            else {
                if (isActive!=gfGruppeE){
                    gfGruppeE.setVis(true);
                    isActive = gfGruppeE;
                }
                else{
                    gfGruppeE.setVis(false);
                    boolGruppeE = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeF")){
            if (!boolGruppeF){
                gfGruppeF.setVis(true);
                boolGruppeF = true;
                isActive = gfGruppeF;
            }
            else {
                if (isActive!=gfGruppeF){
                    gfGruppeF.setVis(true);
                    isActive = gfGruppeF;
                }
                else{
                    gfGruppeF.setVis(false);
                    boolGruppeF = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeG")){
            if (!boolGruppeG){
                gfGruppeG.setVis(true);
                boolGruppeG = true;
                isActive = gfGruppeG;
            }
            else {
                if (isActive!=gfGruppeG){
                    gfGruppeG.setVis(true);
                    isActive = gfGruppeG;
                }
                else{
                    gfGruppeG.setVis(false);
                    boolGruppeG = false;
                }
            }
        }
        if (e.getActionCommand().equals("gruppeH")){
            if (!boolGruppeH){
                gfGruppeH.setVis(true);
                boolGruppeH = true;
                isActive = gfGruppeH;
            }
            else {
                if (isActive!=gfGruppeH){
                    gfGruppeH.setVis(true);
                    isActive = gfGruppeH;
                }
                else{
                    gfGruppeH.setVis(false);
                    boolGruppeH = false;
                }
            }
        }
        if (e.getActionCommand().equals("achtelfinale")){
            if (!boolAchtelfinale){
                gfAchtelfinale.setVis(true);
                boolAchtelfinale = true;
                isActive = gfAchtelfinale;
            }
            else {
                if (isActive!=gfAchtelfinale){
                    gfAchtelfinale.setVis(true);
                    isActive = gfAchtelfinale;
                }
                else{
                    gfAchtelfinale.setVis(false);
                    boolAchtelfinale = false;
                }
            }
        }
        if (e.getActionCommand().equals("viertelfinale")){
            if (!boolViertelfinale){
                gfViertelfinale.setVis(true);
                boolViertelfinale = true;
                isActive = gfViertelfinale;
            }
            else {
                if (isActive!=gfViertelfinale){
                    gfViertelfinale.setVis(true);
                    isActive = gfViertelfinale;
                }
                else{
                    gfViertelfinale.setVis(false);
                    boolViertelfinale = false;
                }
            }
        }
        if (e.getActionCommand().equals("halbfinale")){
            if (!boolHalbfinale){
                gfHalbfinale.setVis(true);
                boolHalbfinale = true;
                isActive = gfHalbfinale;
            }
            else {
                if (isActive!=gfHalbfinale){
                    gfHalbfinale.setVis(true);
                    isActive = gfHalbfinale;
                }
                else{
                    gfHalbfinale.setVis(false);
                    boolHalbfinale = false;
                }
            }
        }
        if (e.getActionCommand().equals("finale")){
            if (!boolFinale){
                gfFinale.setVis(true);
                boolFinale = true;
                isActive = gfFinale;
            }
            else {
                if (isActive!=gfFinale){
                    gfFinale.setVis(true);
                    isActive = gfFinale;
                }
                else{
                    gfFinale.setVis(false);
                    boolFinale = false;
                }
            }
        }
        if (e.getActionCommand().equals("spieler")){
            if (!boolSpieler){
                sfEdit.setVis(true);
                boolSpieler = true;
                isActive = sfEdit;
            }
            else {
                if (isActive!=sfEdit){
                    sfEdit.setVis(true);
                    isActive = sfEdit;
                }
                else{
                    sfEdit.setVis(false);
                    boolSpieler = false;
                }
            }
        }
        if (e.getActionCommand().equals("beenden")){
            System.exit(0);
        }
        if (e.getActionCommand().equals("infos")){
            if (!boolInfo){
                wfInfos.setVis(true);
                boolInfo = true;
            }
            else {
                wfInfos.setVis(false);
                boolInfo = false;
            }
        }
    }
    
    Hauptfenster(){
        
        fenster.setSize(170,580);
        fenster.setLocation(200,40);
        buttonsSouth.setLayout (new FlowLayout());
        
        // Info Button
        buttonsSouth.add(infos);
        infos.addActionListener(this);
        infos.setActionCommand("infos");
        
        // Beenden Button
        buttonsSouth.add(beenden);
        beenden.addActionListener(this);
        beenden.setActionCommand("beenden");
        
        hauptbuttons.setLayout(new FlowLayout());
        
        // Auswahllabel
        auswahl.setHorizontalAlignment(0);
        auswahl.setPreferredSize(new Dimension(148,18));
        hauptbuttons.add(auswahl);
        
        // Gruppe A Button
        buttonadd(gruppeA, hauptbuttons, "gruppeA");
        
        // Gruppe B Button
        buttonadd(gruppeB, hauptbuttons, "gruppeB");
        
        // Gruppe C Button
        buttonadd(gruppeC, hauptbuttons, "gruppeC");
        
        // Gruppe D Button
        buttonadd(gruppeD, hauptbuttons, "gruppeD");
        
        // Gruppe E Button
        buttonadd(gruppeE, hauptbuttons, "gruppeE");
        
        // Gruppe F Button
        buttonadd(gruppeF, hauptbuttons, "gruppeF");
        
        // Gruppe G Button
        buttonadd(gruppeG, hauptbuttons, "gruppeG");
        
        // Gruppe H Button
        buttonadd(gruppeH, hauptbuttons, "gruppeH");
        
        // Freiraum
        freiraum(hauptbuttons);
        
        // Achtelfinale Button
        buttonadd(achtelfinale, hauptbuttons, "achtelfinale");
        
        // Viertelfinale Button
        buttonadd(viertelfinale, hauptbuttons, "viertelfinale");
        
        // Halbfinale Button
        buttonadd(halbfinale, hauptbuttons, "halbfinale");
        
        // Finale Button
        buttonadd(finale, hauptbuttons, "finale");
        
        // Freiraum
        freiraum(hauptbuttons);
        
        // Spieler editieren Button
        buttonadd(spieler, hauptbuttons, "spieler");
        
        fenster.getContentPane().setLayout(new BorderLayout());
        fenster.getContentPane().add(hauptbuttons,BorderLayout.CENTER);
        fenster.getContentPane().add(buttonsSouth,BorderLayout.SOUTH);
        fenster.setVisible(true);
        fenster.setResizable(false);
        fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
    }

}


class WM_Manager_2006{  
   
   // Welcomefenster     
    public static void main (String [] args){
        new Willkommenfenster(true, "Herzlich Willkommen", true);
    }
    
}
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Willkommenfenster extends JFrame implements ActionListener{
    
    
    public void setVis(boolean visible){
        fenster.setVisible(visible);
    }
    
    JFrame fenster = new JFrame();
    boolean start = true;
    
    Willkommenfenster(boolean start, String titel, boolean visible){
        
        this.start = start;
        fenster.setTitle(titel);
        JLabel jlWM2006 = new JLabel(" WM 2006 Manager ");
        jlWM2006.setHorizontalAlignment(0);
        jlWM2006.setFont(new Font("", 2, 22));
        
        JLabel jlGast = new JLabel(" Die Welt zu Gast bei Freunden ");
        jlGast.setHorizontalAlignment(0);
        JLabel jlWette = new JLabel(" Mache deine eigene Statistik, Wetten, uvm.");
        jlWette.setHorizontalAlignment(0);
        JLabel jlCopy = new JLabel (" bääm");
        jlCopy.setHorizontalAlignment(0);
        jlCopy.setFont(new Font("",3,9));
        
        JPanel jpInfo = new JPanel();
        jpInfo.setLayout(new GridLayout(3,1));
        jpInfo.add(jlGast);
        jpInfo.add(jlWette);
        jpInfo.add(jlCopy);
        
        JPanel button = new JPanel();
        JButton jbOk = new JButton ("OK");
        jbOk.addActionListener(this);
        jbOk.setActionCommand("go");
        
        fenster.getContentPane().setLayout(new GridLayout(3,1));
        fenster.setSize(4,4);        
        fenster.setLocation(250,250);
        fenster.getContentPane().add(jlWM2006);
        fenster.getContentPane().add(jpInfo);
        jbOk.setPreferredSize(new Dimension(120,30));
        button.add(jbOk);
        fenster.getContentPane().add(button);
        fenster.setResizable(false);
        fenster.setVisible(visible);
        fenster.pack();
    }
    
    public void actionPerformed(ActionEvent e){
        if (e.getActionCommand().equals("go")){
            if (start){
                new Hauptfenster();
                fenster.setVisible(false);
            }
            else {
                fenster.setVisible(false);
                Hauptfenster.boolInfo = false;
            }
        }
    }
}
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

class Gruppenfenster extends JFrame{
    
    // Sichtbarkeit des Fensters festlegen
    public void setVis(boolean visible){
        fenster.setVisible(visible);
    }
    
    JFrame fenster = new JFrame(); 
    String [] arrSpielstand = {"0","1","2","3","4","5","6","7","8","9","10"};
    Vector<String> vecGruppe = new Vector<String>();
    
    // Einfacher Doppelpunkt
    JLabel doppelpunkt(){
        return new JLabel(" : ");
    }
    
    // Übergebenes Array mit Ländern in ein Vectorumwandeln
    void arrToVec(String [] arrGruppe){
        for (int i=0; i<arrGruppe.length; i++){
            vecGruppe.add(arrGruppe[i]);
        }
    }
    
    
    // Label Oben
    JComboBox jcTeam1 = new JComboBox(vecGruppe);
    JComboBox jcTeam2 = new JComboBox(vecGruppe);
    JLabel jlVs = new JLabel(" vs. ");
    
    // Label Mitte
    JComboBox jcSpieler = new JComboBox();
    JLabel jlWahl = new JLabel("Wählen Sie einen Spieler:");
    JComboBox jcTip1 = new JComboBox(arrSpielstand);
    JComboBox jcTip2 = new JComboBox(arrSpielstand);
    JButton jbAbgeben = new JButton("Tip abgeben!");
    
    // Label Unten
    JButton jbSpeichern = new JButton("Speichern");
    JButton jbLaden = new JButton("Laden");
    JLabel jlErg = new JLabel("Ergebnis: ");
    JComboBox jcErg1 = new JComboBox(arrSpielstand);
    JComboBox jcErg2 = new JComboBox(arrSpielstand);
    JButton jbErg = new JButton("Ergebnis eintragen und auswerten!");
    
    
    JPanel jpOben = new JPanel();
    JPanel jpMitte = new JPanel();
        JPanel jpMitteOben = new JPanel();
        JPanel jpMitteUnten = new JPanel();
    JPanel jpUnten = new JPanel();
        JPanel jpUntenOben = new JPanel();
        JPanel jpUntenMitte = new JPanel();
        JPanel jpUntenUnten = new JPanel();
    
    Gruppenfenster (String [] gruppe, /*String [] spieler,*/ String titel){
        
        arrToVec(gruppe); // Übergebenes Array in Vector konvertieren
        fenster.setTitle(titel);
        fenster.setSize(380,250);
        fenster.setLocation(375,40);
        
        // JPanel Oben
        jpOben.setLayout(new FlowLayout());
        jpOben.add(jcTeam1);
        jpOben.add(jlVs);
        jpOben.add(jcTeam2);
        
        // JPanel Mitte
        jpMitte.setLayout(new GridLayout(2,1));
        jpMitteOben.setLayout(new FlowLayout());
        jpMitteUnten.setLayout(new FlowLayout());
        jpMitteOben.add(jlWahl);
        jpMitteOben.add(jcSpieler);
        jpMitteUnten.add(jcTip1);
        jpMitteUnten.add(doppelpunkt());
        jpMitteUnten.add(jcTip2);
        jpMitteUnten.add(jbAbgeben);
        jpMitte.add(jpMitteOben);
        jpMitte.add(jpMitteUnten);
        
        // JPanel Unten
        jpUnten.setLayout(new GridLayout(3,1));
        jpUntenOben.setLayout(new FlowLayout());
        jpUntenMitte.setLayout(new FlowLayout());
        jpUntenUnten.setLayout(new FlowLayout());
        jpUntenOben.add(jbSpeichern);
        jpUntenOben.add(jbLaden);
        jpUntenMitte.add(jlErg);
        jpUntenMitte.add(jcErg1);
        jpUntenMitte.add(doppelpunkt());
        jpUntenMitte.add(jcErg2);
        jpUntenUnten.add(jbErg);
        jpUnten.add(jpUntenOben);
        jpUnten.add(jpUntenMitte);
        jpUnten.add(jpUntenUnten);
        jbErg.setPreferredSize(new Dimension(240, 25));
        jpUnten.add(jpUntenUnten);
        
        // Fensterelemente einfügen
        fenster.add(jpMitte, BorderLayout.CENTER);
        fenster.add(jpOben, BorderLayout.NORTH);
        fenster.add(jpUnten, BorderLayout.SOUTH);
        fenster.setResizable(false);
        fenster.setVisible(false);
    }


}
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

class Spielerfenster extends JFrame /*implements WindowListener implements ActionListener*/ {
    
    
    void setVis(boolean vis){
        fenster.setVisible(vis);
    }
    
    Vector<String> vecSpielernamen = new Vector<String>();
    JFrame fenster = new JFrame ("Die Mitspieler");
    JTextField tfSpielernamen = new JTextField("Name");
    JButton jbSpeicher = new JButton ("Speichern");
    JButton jbLoeschen = new JButton ("Löschen");
    
    Spielerfenster(){
        fenster.setSize(180,350);
        //fenster.addWindowListener(this);
        fenster.setLocation(0,40);
        fenster.setVisible(false);
    }
    

}

ich wäre sehr erfreut wenn ihr dazu ein paar konstruktive anmerkungen machen könntet, vielen dank! PS ist halt noch nicht ganz fertig
 

Leroy42

Top Contributor
Also das erste, was mir auffällt, ist, daß du dir unnötig viel Arbeit machst.
Dein gesamter bisheriger Code kann auf ca. 1/12 gekürzt werden und
viel leichter wartbarer/erweiterbarer gemacht werden.

Falls du dich allerdings noch nicht mit Arrays auskennst, ist das natürlich
verständlich. Weiteres kann ich dir jetzt noch nicht sagen, da ich im
Moment (Büro) keine Zeit habe, die Source detailliert durchzugehen.
 

Leroy42

Top Contributor
Auch!
Nimm mal als Beispiel
Code:
        if (e.getActionCommand().equals("viertelfinale")){ 
            if (!boolViertelfinale){ 
                gfViertelfinale.setVis(true); 
                boolViertelfinale = true; 
                isActive = gfViertelfinale; 
            } 
            else { 
                if (isActive!=gfViertelfinale){ 
                    gfViertelfinale.setVis(true); 
                    isActive = gfViertelfinale; 
                } 
                else{ 
                    gfViertelfinale.setVis(false); 
                    boolViertelfinale = false; 
                } 
            } 
        } 
        if (e.getActionCommand().equals("halbfinale")){ 
            if (!boolHalbfinale){ 
                gfHalbfinale.setVis(true); 
                boolHalbfinale = true; 
                isActive = gfHalbfinale; 
            } 
            else { 
                if (isActive!=gfHalbfinale){ 
                    gfHalbfinale.setVis(true); 
                    isActive = gfHalbfinale; 
                } 
                else{ 
                    gfHalbfinale.setVis(false); 
                    boolHalbfinale = false; 
                } 
            } 
        }
Wenn du die beiden Aktionen genauer analysierst (
Quatsch! Wozu analysieren; du hast sie ja selbst entworfen :cool: )
siehst du, daß sie de facto identisch sind.

Mit einem etwas verallgemeinerten Design (Stichwort Abstraktion)
kommst du hier mit nur einer einzigen Aktion-Source aus und vermeidest
Redundanz, sobald du eine Änderung vornehmen mußt.

Nach Murphys Law gibt es nämlich immer mindestens eine Komponente,
die dir beim Anpassen durch die Lappen rutscht.
 

Bierhumpen

Bekanntes Mitglied
ich weiss... eigentlich wollte ich eine methode dafür schreiben, aber man kann ja keinen variablennamen übergeben, ansonsten wüsste ich nicht wie man das löst

mit nem array? soll er dann immer einmal durchlaufen wenn ein button geklickt wurde?

aber auch da kann man ja keine variablen übergeben.....

Murphys Law? Welches fenster geht mir denn durch die lappen?
Eigentlich funktioniert alles wunderbar! ausser ich klicke auf das x in einem fenster.....
 

lin

Top Contributor
(ohne das programm ausprobiert zu haben...), wieso oeffnest du fuer alles moegliche ein neues Frame? Das wuerdest du besser im Hauptfenster darstellen, ist viel angenehmer fuer den User... Btw. kannst du mal noch n jar raufladen, so dass ich mir das ganze ohne grosse anstrengung angucken kann :bae:
 

The_S

Top Contributor
zu 2. gibts n gutes Tut in den FAQs

Was mir jetzt so spontan noch auffällt, ist dass die Mannschaften Hard-Coded sind. Wenn du sie aus einer Datei ausliest wäre das ganze viel dynamischer.
 

The_S

Top Contributor
Code:
/** 
* Java WM Tool für Ergebnisse - Wetten - Auswertungen 
* @version 1.0 
*/

Heißt für mich verwendbar für nachfolgende Tuniere, und wers ändert ist ss ;) .
 

Leroy42

Top Contributor
Bierhumpen hat gesagt.:
Murphys Law? Welches fenster geht mir denn durch die lappen?

Murphy's Law sagt (zum Beispiel): Wenn etwas schiefgehen kann, geht es auch irgendwann schief.

Zu deinem Beispiel meinte ich, daß es wahrscheinlich ist, daß sich die Aktionen
innerhalb deiner ActionListener irgendwann ändern (erweitert werden) und
da du dann diese Anpassung 12-mal vornehmen mußt, kannst du, nach Murphy,
davon ausgehen, daß du eine Anpassung übersiehst; und dann viel Spaß beim Suchen :cool:

Wenn du nur einen (parametrisierten) ActionListener hast, kann das nicht passieren,
da alle 12 Buttons dann entweder tun was sie sollen, oder keiner von Ihnen; was
du viel schneller bemerken würdest.
 

Bierhumpen

Bekanntes Mitglied
ja, aber wie löse ich das problem... habe mich jetzt lange mit den arrays rumgeschlagen, und komme nicht weiter... ich würde es halt gerne zur WM lauffähig haben ;(
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
M OOP Mein erstes Textadventure... Java Basics - Anfänger-Themen 3
M Mein erstes Programm Java Basics - Anfänger-Themen 3
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
1 Mein erstes Programm, HELP!! Java Basics - Anfänger-Themen 2
T OOP Mein erstes Java-Spiel - Schiffe versenken! Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
D Mein erstes Programm flackert Java Basics - Anfänger-Themen 5
B Methoden Mein erstes Programm - und gleich Probleme Java Basics - Anfänger-Themen 6
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
P Mein erstes JAR-File Java Basics - Anfänger-Themen 8
L Suche Verbesserungsvorschläge für mein erstes Programm Java Basics - Anfänger-Themen 34
A Mein erstes Programm Java Basics - Anfänger-Themen 6
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
T Mein Programm hat Fehler Java Basics - Anfänger-Themen 4
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
S Wie ende ich mein Pogrammierung? [Hilfe] Java Basics - Anfänger-Themen 1
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
A Eine Krone in der Textausgabe - Mein Code Java Basics - Anfänger-Themen 11
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
W Warum läuft mein Programm nicht? Java Basics - Anfänger-Themen 14
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 12
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 6
W Ist mein Struktogram richtig erstellt worden? Java Basics - Anfänger-Themen 4
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
N Warum terminiert mein Programm nicht? Java Basics - Anfänger-Themen 13
G Wie kann ich mein Quellcode als Programm vom desktop starten? Java Basics - Anfänger-Themen 1
P Wie kann ich mein Programm zu einer App umwandeln? Java Basics - Anfänger-Themen 4
A Mein 1x1 Programm funktioniert nicht? Java Basics - Anfänger-Themen 2
G Input/Output Wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
G Variablen Was ist mein Fehler? Java Basics - Anfänger-Themen 2
C Warum funktioniert mein If Statement nicht richtig? Java Basics - Anfänger-Themen 18
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
W Compiler-Fehler Fehler - <identifier> expected, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
N mein RegEx Java Basics - Anfänger-Themen 2
N Mein Bubblesort sortiert mein Array nicht Java Basics - Anfänger-Themen 2
W Wie hat mein Lehrer das gemacht. Java Basics - Anfänger-Themen 2
Z Klassen Warum wird mein Objekt nicht erkannt? Java Basics - Anfänger-Themen 2
J Erste Schritte Zweithöchster Wert eines Arrays herausfinden - warum klappt mein Code nicht? Java Basics - Anfänger-Themen 3
A Wie kann ich mein Programm noch effizienter machen? Java Basics - Anfänger-Themen 1
C Mein Video zu Java Grundlagen Java Basics - Anfänger-Themen 8
T Eclipse kennt mein Button nicht... Java Basics - Anfänger-Themen 5
J Wo liegt nur an dieser einfachen Bedingung mein Fehler? Java Basics - Anfänger-Themen 8
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
T Mein String in ein JLabel stecken Java Basics - Anfänger-Themen 2
H Kann ich mein Programm vereinfachen? Java Basics - Anfänger-Themen 3
J Methoden Wo ist mein Fehler ?! Java Basics - Anfänger-Themen 9
R .txt in mein Javaprogramm hineinschmelzen Java Basics - Anfänger-Themen 6
S Mein Code is unübersichtlich - besseren Stil Java Basics - Anfänger-Themen 6
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
H Probleme mein Ausführen der .class (Ubuntu JDK6) Java Basics - Anfänger-Themen 2
M Mein TableEvent problem Java Basics - Anfänger-Themen 3
C Boolsche Ausdrücke - Wo ist mein Fehler? Java Basics - Anfänger-Themen 14
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
K Mein Programm... Heute: Settings-Datei in .jar speichern und auslesen Java Basics - Anfänger-Themen 9
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
V Mein erster Konstruktor Java Basics - Anfänger-Themen 3
S GaussJordan in Java, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
O Warum terminiert mein Programm nicht!? Java Basics - Anfänger-Themen 15
U2nt Mein Chat Java Basics - Anfänger-Themen 10
S Wo ist mein Fehler? Java Basics - Anfänger-Themen 2
I OOP This-Referenzs > wo liegt mein Denkfehler? Java Basics - Anfänger-Themen 24
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
W ArrayListe , Wo ist mein Fehler? Java Basics - Anfänger-Themen 6
H wie bekomm ich ein Foto in mein Programm rein? Java Basics - Anfänger-Themen 8
M Mein Externes Programm startet nicht Java Basics - Anfänger-Themen 13
M Timer unterbrechen? Wo ist mein Thread? Java Basics - Anfänger-Themen 2
S wieso ist mein Code falsch? Java Basics - Anfänger-Themen 2
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
B XML? Für Uhrzeit und Datum für mein HP? Java Basics - Anfänger-Themen 6
JeromeM90 Mein Java Applet zeitverzögern ? Java Basics - Anfänger-Themen 2
Developer_X Mein erster Internet Explorer Java Basics - Anfänger-Themen 14
B könnte nochmal jemand über mein Projekt schauen? Java Basics - Anfänger-Themen 4
J Mein Objekt will nicht! Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben