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.
ich wäre sehr erfreut wenn ihr dazu ein paar konstruktive anmerkungen machen könntet, vielen dank! PS ist halt noch nicht ganz fertig
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