Programm springt nicht in if Bedingung

RunOrVeith

Mitglied
Hey, also ich programmiere grade TicTacToe,

und habe ein Problem. Ich will es so machen, dass es einen 1 Spieler Modus mit KI Gegner, und einen 2 Spieler Modus habe. Dieser funktioniert auch gut.

Ich habe eine variable "wieviele", die wenn sie 1 ist, in die bedingung springen soll, was passiert, wenn der Spieler nicht dran ist, wenn er gegen den PC spielt, allerdings springt er nicht in diese Bedingung, sondern macht immer das wie bei 2 Spielern. Ich habe tausendmal geschaut, ob ich die Bedingung auch auf der richtigen Ebene gemcaht habe...

Achtung viel Text (wenn jemand weiß, wie das kürzer geht, besonders die ganzen Cases, Vorschläge sind willkommen :))

Da wo es nicht reinspringt steht ganz unten:
Java:
public void feldfaerben(int welch)
    {
        welchen = welch;
        if (spieler1dran==true)
        {
            
            switch(welchen)
            {    
                case 1:
                    if (schongespielt[0] == true)
                    {
                        System.out.println("Wählen sie ein anderes Feld!");
                    }
                    else
                    {
                        felderob[0].farbeaendern(5);
                        spieler1dran = false;
                        reihe[0] = 2;
                        zugzahl++;
                        felderob[0].zeichne();
                        checkgewinn();
                        schongespielt[0]= true;
                    }
                    break;
                    case 2 :
                        if (schongespielt[1] ==true)
                        {
                            System.out.println("Wählen sie ein anderes Feld!");
                        }
                        else
                        {
                            felderob[1].farbeaendern(5);
                            spieler1dran = false;
                            reihe[1] = 2;
                            zugzahl++;
                            felderob[1].zeichne();
                            checkgewinn();
                            schongespielt[1] = true;
                        }
                        break;
                        case 3:
                            if (schongespielt[2] ==true)
                            {
                                System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                felderob[2].farbeaendern(5);
                                spieler1dran = false;
                                reihe[2] = 2;
                                zugzahl++;
                                felderob[2].zeichne();
                                checkgewinn();
                                schongespielt[2] = true;
                            }
                            break;
                        case 4:
                            if (schongespielt[3] ==true)
                            {
                                System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                feldermi[0].farbeaendern(5);
                                spieler1dran = false;
                                reihe[3]=2;
                                zugzahl++;
                                feldermi[0].zeichne();
                                checkgewinn();
                                schongespielt[3] = true;
                            }
                            break;
                       case 5:
                            if (schongespielt[4] ==true)
                            {
                                System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                feldermi[1].farbeaendern(5);
                                spieler1dran = false;
                                reihe[4]=2;
                                zugzahl++;
                                feldermi[1].zeichne();
                                checkgewinn();
                                schongespielt[4] = true;
                            }
                            break;
                       case 6:
                            if (schongespielt[5] ==true)
                            {
                                System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                feldermi[2].farbeaendern(5);
                                spieler1dran = false;
                                reihe[5]=2;
                                zugzahl++;
                                feldermi[2].zeichne();
                                checkgewinn();
                                schongespielt[5]=true;
                            }
                            break;
                       case 7:
                            if (schongespielt[6] ==true)
                            {
                                System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                felderun[0].farbeaendern(5);
                                spieler1dran = false;
                                reihe[6]=2;
                                zugzahl++;
                                felderun[0].zeichne();
                                checkgewinn();
                                schongespielt[6]=true;
                            }
                            break;
                      case 8:
                           if (schongespielt[7] ==true)
                           {
                               System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                felderun[1].farbeaendern(5);
                                spieler1dran = false;
                                reihe[7]=2;
                                zugzahl++;
                                felderun[1].zeichne();
                                checkgewinn();
                                schongespielt[7]=true;
                            }
                            break;
                       case 9:
                            if (schongespielt[8] ==true)
                            {
                                System.out.println("Wählen sie ein anderes Feld!");
                            }
                            else
                            {
                                felderun[2].farbeaendern(5);
                                spieler1dran = false;
                                reihe[8]=2;
                                zugzahl++;
                                felderun[2].zeichne();
                                checkgewinn();
                                schongespielt[8]=true;
                            }
                            break;
                
                

                        }
         }
        
        
        
        
        
        
        
        
        
        
         else
         {
         if (wieviele ==2)
         
            {
            switch(welchen)
                {
            
            case 1:
                if (schongespielt[0] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    felderob[0].farbeaendern(2);
                    spieler1dran = true;
                    reihe[0]=9;
                    zugzahl++;
                    felderob[0].zeichne();
                    checkgewinn();
                    schongespielt[0] = true;
                
                }
                break;
            case 2 :
                if (schongespielt[1] ==true)
                {   
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    felderob[1].farbeaendern(2);
                    spieler1dran = true;
                    reihe[1]=9;
                    zugzahl++;
                    felderob[1].zeichne();
                    checkgewinn();
                    schongespielt[1]=true;
                }
                break;
            case 3:
                if (schongespielt[2] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    felderob[2].farbeaendern(2);
                    spieler1dran = true;
                    reihe[2]=9;
                    zugzahl++;
                    felderob[2].zeichne();
                    checkgewinn();
                    schongespielt[2]=true;
                }
                break;
           case 4:
                if (schongespielt[3] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    feldermi[0].farbeaendern(2);
                    spieler1dran = true;
                    reihe[3]=9;
                    zugzahl++;
                    feldermi[0].zeichne();
                    checkgewinn();
                    schongespielt[3]=true;
                }
                break;
           case 5:
                if (schongespielt[4] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    feldermi[1].farbeaendern(2);
                    spieler1dran = true;
                    reihe[4]=9;
                    zugzahl++;
                    feldermi[1].zeichne();
                    checkgewinn();
                    schongespielt[4]=true;
                }
                break;
           case 6:
                if (schongespielt[5] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    feldermi[2].farbeaendern(2);
                    spieler1dran = true;
                    reihe[5]=9;
                    zugzahl++;
                    feldermi[2].zeichne();
                    checkgewinn();
                    schongespielt[5]=true;
                }
                break;
           case 7:
                if (schongespielt[6] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    felderun[0].farbeaendern(2);
                    spieler1dran = true;
                    reihe[6]=9;
                    zugzahl++;
                    felderun[0].zeichne();
                    checkgewinn();
                    schongespielt[6]=true;
                }
                break;
           case 8:
                if (schongespielt[7] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    felderun[1].farbeaendern(2);
                    spieler1dran = true;
                    reihe[7]=9;
                    zugzahl++;
                    felderun[1].zeichne();
                    checkgewinn();
                    schongespielt[7]=true;
                }
                break;
           case 9:
                if (schongespielt[8] ==true)
                {
                    System.out.println("Wählen sie ein anderes Feld!");
                }
                else
                {
                    felderun[2].farbeaendern(2);
                    spieler1dran = true;
                    reihe[8]=9;
                    zugzahl++;
                    felderun[2].zeichne();
                    checkgewinn();
                    schongespielt[8]=true;
                }
                break;
        }
    }
    
    
    
    
    
    else if (wieviele ==1)
    {
        if (schongespielt[0] == true && zugzahl == 1)
        {
                System.out.println("Hier Springt es nicht rein");
                    
        }
        
    }  
  }
}



Vielen Dank!
 
P

Pippl

Gast
Ein Verbesserungsvorschlag wäre mal am Anfang der Methode abzufragen ob das Feld schon gespielt worden ist

Java:
if(schongespielt[welch-1]!=true)
{
//dein switch nur bei den case sparst du dir das if else und brauchst nur noch das was im else steht
}
else
{
System.out.println("Wählen Sie ein anderes Feld!");
 

Ariol

Top Contributor
Hier eine ordentlich formatierte und stark gekürzte Version die das gleiche macht.
Evtl. findest du deinen Fehler jetzt selbst :wink:

Java:
	public void feldfaerben(int welch)
	{
		welchen = welch;
		int feld = welchen-1;
		if (spieler1dran)
		{
			if(schongespielt[feld])
			{
				System.out.println("Wählen sie ein anderes Feld!");	
			}
			else
			{
				felderob[feld].farbeaendern(5);
				spieler1dran = false;
				reihe[feld] = 2;
				zugzahl++;
				felderob[feld].zeichne();
				checkgewinn();
				schongespielt[feld] = true;
			}
		}
		else if (wieviele == 2)
		{
			
			if(schongespielt[feld])
			{
				System.out.println("Wählen sie ein anderes Feld!");	
			}
			else
			{
				felderob[feld].farbeaendern(2);
				spieler1dran = true;
				reihe[feld] = 9;
				zugzahl++;
				felderob[feld].zeichne();
				checkgewinn();
				schongespielt[feld] = true;
			}
		}
		else if (wieviele == 1)
		{
			if (schongespielt[0] && zugzahl == 1)
			{
				System.out.println("Hier Springt es nicht rein");
			}
		}
	}

Für alles weitere wäre eine genauere Erklärung von Noten, was du da alles machst.
Und am besten noch ein kompilierbares, ausführbares Beispiel.
 

RunOrVeith

Mitglied
Ok, das gekürzte hilft schon mal ziemlich, danke!
Es gibt nur ein Problem damit:

Ich habe für die Felder des Spielfeldes nicht ein Array aus Kasten genommen,
sondern 3, für die oberen, mittleren und unteren, da sich immer mehrere werte ändern:

Java:
for ( int i =0; i<3; i++)
    {
       
            felderob[i] = new KASTEN(50+140*i, 50, 120, 120, 8);
            felderob[i].zeichne();
        
    }    
    for ( int u = 0; u<3; u++)
    {
        feldermi[u] = new KASTEN(50+140*u, 190, 120, 120, 8);
        feldermi[u].zeichne();
    }
    
    for ( int a =0; a<3; a++)
    {
        felderun[a] = new KASTEN(50+140*a, 330, 120, 120, 8);
        felderun[a].zeichne();
    }

Wenn man das unter eine For Schleife bringt, würde es gehen.
Mein Versucht klappt aber irgendwie auch nicht, obwohl ich nicht verstehe warum:
(d.h. Es "funktioniert", aber es soll in einen anderen Kasten passen, welcher die Maße
Java:
groß = new KASTEN(50, 50, 400, 400, 0);
hat. Es stimmt nun die Schrägreihe von links oben nach rechts unten, aber alles andere nicht!
(Die anzahl der Fächer von felderob habe ich natürlich geändert)
Java:
for ( int i =0; i<9; i++)
    {
       if (i==0 || i==3 || i==6)
            {
                k = 50; j=0;

            }
            else if (i==1 || i ==4 || i==7)
            {
                k=190; j=1;
            }
            else if(i==2 || i==5 || i==8)
            {
                k=330; j=2;
            }
            felderob[i] = new KASTEN(50+140*j, k, 120, 120, 5);
            felderob[i].zeichne();
        
    }


Vielen Dank!
 
Zuletzt bearbeitet:

Ariol

Top Contributor
Warum verwendest du kein doppelt verschachteltest Array?

Java:
		Kasten[][] felder = new Kasten[3][3];

		for (int i = 0; i < 3; i++)
		{
			for (int j = 0; j < 3; j++)
			{
				felder[i][j] = new Kasten(50 + 140 * i, 50 + 140 * j, 120, 120, 8);
			}
		}

Ich hab das Gefühl, dass du das alles zu kompliziert angehst....
 

RunOrVeith

Mitglied
Ok, dann habe ich schon mal die Felder in einer Bedingung,
aber wie greife ich jetzt auf die einzelnen zu, mit der Methode, die oben steht? Jetzt kann ich ja nicht mehr nur "feld" als variable einsetzten, sondern muss 2 sachen einsetzten...
Sorry, ich hatte schon immer den Hang zur Kompliziertheit und biin auch noch relativ neu in Java...
Java:
public void feldfaerben(int welch)
    {
        welchen = welch;
        int feld = welchen-1;
        if (spieler1dran)
        {
            if(schongespielt[feld])
            {
                System.out.println("Wählen sie ein anderes Feld!"); 
            }
            else
            {
                felder[feld].farbeaendern(5);
                felder[feld].zeichne();
                spieler1dran = false;
                reihe[feld] = 2;
                zugzahl++;
                checkgewinn();
                schongespielt[feld] = true;
            }
        }
        else if (wieviele == 2)
        {
            
            if(schongespielt[feld])
            {
                System.out.println("Wählen sie ein anderes Feld!"); 
            }
            else
            {
                felder[feld].farbeaendern(2);
                spieler1dran = true;
                reihe[feld] = 9;
                zugzahl++;
                felder[feld].zeichne();
                checkgewinn();
                schongespielt[feld] = true;
            }
        }
        else if (wieviele == 1)
        {
            if (schongespielt[0] && zugzahl == 1)
            {
                System.out.println("Hier Springt es nicht rein");
            }
        }
    }

Danke für eure Hilfe!
 

Ariol

Top Contributor
So wie ich das oben beim initialisieren gemacht habe.

Zeig doch mal deinen kompletten Code, dann kann man dir sicher besser helfen.
 

RunOrVeith

Mitglied
Ok, hier der komplette Code:
Klasse ZEICHENFENSTER (nicht von mir):
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
/**
 * Class ZEICHENFENSTER - Eine Klasse, die einfache grafische Zeichnungen 
 * in einem Programmfenster erm?glicht.
 * 
 * @author Michael Kolling (mik)
 * @author Bruce Quig
 * @author Christian Heidrich
 * @version 2007.05.07
 */
public class ZEICHENFENSTER
{
    private JFrame frame;
    private CanvasPane canvas;
    private JPanel steuerungOst,steuerungSued;
    private Graphics2D graphic;
    private Color backgroundColor;
    private Image canvasImage;    
    private static ZEICHENFENSTER singleton;
    /**
     * Erzeugt eine Zeichenfenster mit Standardma?en 600*500 und Hintergrundfarbe wei? 
     * @param titel  Titel des Fensters     
     */
    public ZEICHENFENSTER(String titel)
    {
        this(titel, 6000, 5000, Color.white);        
    }
    /**
     * Erzeugt ein Zeichenfenster mit wei?em Hintergrund.
     * @param titel  Fensterueberschirft
     * @param breite  Breite des Fensters
     * @param hoehe  Hoehe des Fensters
     */
    public ZEICHENFENSTER(String titel, int breite, int hoehe)
    {
        this(titel, breite, hoehe, Color.white);
    }
    /**
     * Erzeugt ein Zeichenfenster.
     * @param titel  Fensterueberschirft
     * @param breite  Breite des Fensters
     * @param hoehe  Hoehe des Fensters
     * @param hintergrundFarbe  Hintergrundfarbe des Zeichenfensters
     */
    private ZEICHENFENSTER(String titel, int breite, int hoehe, Color hintergrundFarbe)
    {
        frame = new JFrame();
        canvas = new CanvasPane();
        canvas.setPreferredSize(new Dimension(breite, hoehe));
        frame.getContentPane().add(canvas,BorderLayout.CENTER);
        JPanel p1=new JPanel();
        p1.setLayout(new BorderLayout());
        steuerungOst = new JPanel();
        steuerungSued = new JPanel();
        steuerungOst.setLayout(new BoxLayout(steuerungOst,BoxLayout.Y_AXIS));
        steuerungSued.setLayout(new BoxLayout(steuerungSued,BoxLayout.X_AXIS));
        p1.add(steuerungOst,BorderLayout.NORTH);
        frame.getContentPane().add(p1,BorderLayout.EAST);
        frame.getContentPane().add(steuerungSued,BorderLayout.SOUTH);
        frame.setTitle(titel);
        backgroundColor = hintergrundFarbe;
        frame.pack();
        zeige();
    }
    public static ZEICHENFENSTER gibFenster()
    {
        if (singleton==null){singleton=new ZEICHENFENSTER("Das Zeichenfenster");}
        singleton.zeige();
        return singleton;
    }
    /**
     * Macht das Zeichenfenster sichtbar bzw. setzt es in den Vordergrund,
     * falls es bereits sichtbar ist.
     */
    public void zeige()
    {
        if(graphic == null) {
            // nur beim ersten Aufruf wird der Hintergrund mit der Hintergrundfarbe 
            // gefuellt
            Dimension size = canvas.getSize();
            canvasImage = canvas.createImage(size.width, size.height);
            graphic = (Graphics2D)canvasImage.getGraphics();
            graphic.setColor(backgroundColor);
            graphic.fillRect(0, 0, size.width, size.height);
            graphic.setColor(Color.black);
        }
        frame.setVisible(true);
    }

    /**
     * Gibt Information ?ber die Sichtbarkeit.
     * @return  true falls das Fenster sichtbar ist.
     */
    public boolean istSichtbar()
    {
        return frame.isVisible();
    }    
    /**
     * Zeichnet einen Elipsenbogen (Siehe Graphics.drawArc)
     * @param x x-Koordinate des Elipsenmittelpunkts
     * @param y y-Koordinate des Elipsenmittelpunkts
     * @param halbachseX Halbachse der Elipse in x-Richtung
     * @param halbachseY Halbachse der Elipse in y-Richtung
     * @param startWinkel Polarwinkel, an dem der Bogen anf?ngt
     * @param winkel Polarwinkel, welchen der Bogen durchl?uft
     */
    public void zeichneBogen(int x, int y, int halbachseX, int halbachseY, int startWinkel, int winkel)
    {
        graphic.drawArc(x-halbachseX,y-halbachseY,2*halbachseX,2*halbachseY,startWinkel,winkel);
        canvas.repaint();
    }
    /**
     * Zeichnet einen Kreis (Siehe Graphics.drawOval)
     * @param x x-Koordinate des Mittelpunkts
     * @param y y-Koordinate des Mittelpunkts
     * @param radius Kreisradius
     */
    public void zeichneKreis(int x, int y, int radius)
    {
        graphic.drawOval(x-radius,y-radius,2*radius,2*radius);
        canvas.repaint();
    }
    /**
     * F?llt das Innere eines Kreises mit der angegebenen Farbe. 
     * @param x x-Koordinate des Mittelpunkts
     * @param y y-Koordinate des Mittelpunkts
     * @param radius Kreisradius
     * @param  farbe  F?llfarbe f?r den Kreis, erlaubt sind "weiss" "schwarz" "rot"
     * "gruen" "blau" "gelb" "magenta" "cyan" "grau"
     */
    public void fuelleKreis(int x, int y, int radius, String farbe)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbe));
        graphic.fillOval(x-radius,y-radius,2*radius,2*radius);
        canvas.repaint();
        graphic.setColor(original);
    }    
    /**
     * F?llt das Innere eines Kreises mit der angegebenen Farbe. 
     * @param x x-Koordinate des Mittelpunkts
     * @param y y-Koordinate des Mittelpunkts
     * @param radius Kreisradius
     * @param  farbnr  F?llfarbnummer f?r den Kreis (0 bis 8)
     */
    public void fuelleKreis(int x, int y, int radius, int farbnr)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbnr));
        graphic.fillOval(x-radius,y-radius,2*radius,2*radius);
        canvas.repaint();
        graphic.setColor(original);
    }    
    /**
     * L?scht das Innere eines Kreises 
     * @param x x-Koordinate des Mittelpunkts
     * @param y y-Koordinate des Mittelpunkts
     * @param radius Kreisradius
     */
    public void loescheKreis(int x, int y, int radius)
    {
        Ellipse2D.Double circle = new Ellipse2D.Double(x-radius, y-radius, 2*radius, 2*radius);
        loesche(circle);
    }
    /**
     * Zeichnet den Umriss eines Shape-Objekts.
     * @param  shape  das Shape-Object, welches gezeichnet werden soll
     */
    public void zeichne(Shape shape)
    {
        graphic.draw(shape);
        canvas.repaint();
    } 
    /**
     * F?llt das Innere eines Shape-Objekts mit der angegebenen Farbe. 
     * @param  shape  das Shape-Objekt, welches gef?llt werden soll 
     * @param  farbe  F?llfarbe f?r das Shape-Objekt, erlaubt sind "weiss" "schwarz" "rot"
     * "gruen" "blau" "gelb" "magenta" "cyan" "grau"
     */
    public void fuelle(Shape shape, String farbe)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbe));
        graphic.fill(shape);
        canvas.repaint();
        graphic.setColor(original);
    }

    /**
     * F?llt das Innere eines Shape-Objekts mit der angegebenen Farbe. 
     * @param  shape  das Shape-Objekt, welches gef?llt werden soll 
     * @param  farbnr  F?llfarbnummer f?r das Shape-Objekt (0 bis 8)
     */
    public void fuelle(Shape shape, int farbnr)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbnr));
        graphic.fill(shape);
        canvas.repaint();
        graphic.setColor(original);
    }
    /**
     * L?scht das Innere eines Shape-Objekts.
     * @param  shape  das Shape-Object, welches gel?scht werden soll 
     */
    public void loesche(Shape shape)
    {
        Color original = graphic.getColor();
        graphic.setColor(backgroundColor);
        graphic.fill(shape);              // erase by filling background color
        graphic.setColor(original);
        canvas.repaint();
    }
    /**
     * Zeichnet den Rand des Rechtecks mit der aktuellen Farbe.
     * @param xPos,yPos Koordinaten der linken oberen Ecke 
     * @param breite, hoehe Breite und H?he des Rechtecks
     */
    public void zeichneRechteck(int xPos, int yPos, int breite, int hoehe)
    {
        graphic.drawRect(xPos, yPos, breite, hoehe);
        canvas.repaint();
       // fill(new Rectangle(xPos, yPos, breite, hoehe));
    }
    /**
     * F?llt das Innere des Rechtecks mit der angegebenen Farbe.
     * @param xPos,yPos Koordinaten der linken oberen Ecke 
     * @param breite, hoehe Breite und H?he des Rechtecks
     * @param  farbe  F?llfarbe f?r das Rechteck, erlaubt sind "weiss" "schwarz" "rot"
     * "gruen" "blau" "gelb" "magenta" "cyan" "grau"
     */
    public void fuelleRechteck(int xPos, int yPos, int breite, int hoehe, String farbe)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbe));
        graphic.fillRect(xPos, yPos, breite, hoehe);
        canvas.repaint();
        graphic.setColor(original);
    }
    /**
     * F?llt das Innere des Rechtecks mit der angegebenen Farbe.
     * @param xPos,yPos Koordinaten der linken oberen Ecke 
     * @param breite, hoehe Breite und H?he des Rechtecks
     * @param  farbnr  F?llfarbnummer f?r das Rechteck (0 bis 8)
     */
    public void fuelleRechteck(int xPos, int yPos, int breite, int hoehe, int farbnr)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbnr));
        graphic.fillRect(xPos, yPos, breite, hoehe);
        canvas.repaint();
        graphic.setColor(original);
    }
    /**
     * L?scht das Innere eines Rechtecks.
     * @param xPos,yPos Koordinaten der linken oberen Ecke 
     * @param breite, hoehe Breite und H?he des Rechtecks
     */
    public void loescheRechteck(int xPos, int yPos, int breite, int hoehe)
    {
        loesche(new Rectangle(xPos, yPos, breite, hoehe));
    }    
    private Polygon gibDreieck(int x1, int y1, int x2, int y2, int x3, int y3)
    {
        Polygon p=new Polygon();
        p.addPoint(x1,y1);
        p.addPoint(x2,y3);
        p.addPoint(x3,y3);
        return p;
    }    
    /**
     * Zeichnet den Rand eines Dreiecks mit der aktuellen Farbe.
     * @param x1,y1 Koordinaten des ersten Eckpunkts 
     * @param x2,y2 Koordinaten des zweiten Eckpunkts 
     * @param x3,y3 Koordinaten des dritten Eckpunkts 
     */
    public void zeichneDreieck(int x1, int y1, int x2, int y2, int x3, int y3)
    {
        graphic.drawPolygon(gibDreieck(x1, y1, x2, y2, x3, y3));
        canvas.repaint();
    }
    /**
     * F?llt das Innere eines Dreiecks mit der angegebenen Farbe.
     * @param x1,y1 Koordinaten des ersten Eckpunkts 
     * @param x2,y2 Koordinaten des zweiten Eckpunkts 
     * @param x3,y3 Koordinaten des dritten Eckpunkts 
     * @param  farbe  F?llfarbe f?r das Dreieck, erlaubt sind "weiss" "schwarz" "rot"
     * "gruen" "blau" "gelb" "magenta" "cyan" "grau"
     */
    public void fuelleDreieck(int x1, int y1, int x2, int y2, int x3, int y3, String farbe)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbe));
        graphic.fillPolygon(gibDreieck(x1, y1, x2, y2, x3, y3));
        canvas.repaint();
        graphic.setColor(original);
    }
    /**
     * F?llt das Innere eines Dreiecks mit der angegebenen Farbe.
     * @param x1,y1 Koordinaten des ersten Eckpunkts 
     * @param x2,y2 Koordinaten des zweiten Eckpunkts 
     * @param x3,y3 Koordinaten des dritten Eckpunkts 
     * @param  farbnr  F?llfarbnummer f?r das Dreieck (0 bis 8)
     */
    public void fuelleDreieck(int x1, int y1, int x2, int y2, int x3, int y3, int farbnr)
    {
        Color original=graphic.getColor();
        graphic.setColor(farbeZuColor(farbnr));
        graphic.fillPolygon(gibDreieck(x1, y1, x2, y2, x3, y3));
        canvas.repaint();
        graphic.setColor(original);
    }
    /**
     * L?scht das Innere eines Dreicks
     * @param x1,y1 Koordinaten des ersten Eckpunkts 
     * @param x2,y2 Koordinaten des zweiten Eckpunkts 
     * @param x3,y3 Koordinaten des dritten Eckpunkts 
     */
    public void loescheDreieck(int x1, int y1, int x2, int y2, int x3, int y3)
    {
        loesche(gibDreieck(x1, y1, x2, y2, x3, y3));
    }
    /**
     * L?scht den Inhalt des Zeichenfensters.
     */
    public void loescheAlles()
    {
        Color original = graphic.getColor();
        graphic.setColor(backgroundColor);
        Dimension size = canvas.getSize();
        graphic.fill(new Rectangle(0, 0, size.width, size.height));
        graphic.setColor(original);
        canvas.repaint();
    }
    /**
     * L?scht den Umriss eines Shape-Objekts.
     * @param  shape  das Shape-Object, dessen Umriss gel?scht werden soll 
     */
    public void loescheRand(Shape shape)
    {
        Color original = graphic.getColor();
        graphic.setColor(backgroundColor);
        graphic.draw(shape);  // L?schen durch ?bermalen mit Hintergrundfarbe
        graphic.setColor(original);
        canvas.repaint();
    }

    /**
     * Zeichnet ein Bild in das Zeichnenfenster .
     * @param  bild    das anzuzeigende Bild 
     * @param  x       x-Koordinate des linken Bildrands 
     * @param  y       y-Koordinate des oberen Bildrands 
     * @return  gibt eines booleschen Wert zur?ck, der angibt, ob das Bild vollst?ndig geladen 
     *          werden konnte 
     */
    public boolean zeichneBild(Image bild, int x, int y)
    {
        boolean result = graphic.drawImage(bild, x, y, null);
        canvas.repaint();
        return result;
    }

    /**
     * Zeichnet einen Text.
     * @param  text    die anzuzeigende Zeichenkette 
     * @param  x       x-Koordinate des linken Rands 
     * @param  y       y-Koordinate des oberen Rands 
     */
    public void zeichneText(String text, int x, int y)
    {
        graphic.drawString(text, x, y);   
        canvas.repaint();
    }

    /**
     * L?scht einen Text vom Zeichenfenster.
     * @param  text    die zu l?schende Zeichenkette 
     * @param  x       x-Koordinate des linken Rands 
     * @param  y       y-Koordinate des oberen Rands 
     */
    public void loescheText(String text, int x, int y)
    {
        Color original = graphic.getColor();
        graphic.setColor(backgroundColor);
        graphic.drawString(text, x, y);   
        graphic.setColor(original);
        canvas.repaint();
    }

    /**
     * Zeichnet eine Strecke ins Zeichenfenster.
     * @param  x1   x-Koordinate des Anfangspunkts der Strecke 
     * @param  y1   y-Koordinate des Anfangspunkts der Strecke
     * @param  x2   x-Koordinate des Endpunkts der Strecke 
     * @param  y2   y-Koordinate des Endpunkts der Strecke  
     */
    public void zeichneStrecke(int x1, int y1, int x2, int y2)
    {
        graphic.drawLine(x1, y1, x2, y2);   
        canvas.repaint();
    }

    /**
     * Setzt die Vordergrundfarbe des Zeichenfensters.
     * @param  neueFarbe   neue Vordergrundfarbe 
     */
    public void setzeVordergrundFarbe(String neueFarbe)
    {
        graphic.setColor(farbeZuColor(neueFarbe));
    }
    private void setzeVordergrundFarbe(Color neueFarbe)
    {
        graphic.setColor(neueFarbe);
    }
    
    private Color farbeZuColor(int farbnr)
    {
        switch (farbnr)
        {
            case 0: return Color.black;
            case 1: return Color.blue;
            case 2: return Color.green;
            case 3: return Color.cyan;
            case 4: return Color.red;
            case 5: return Color.magenta;
            case 6: return Color.yellow;
            case 7: return Color.gray;
            case 8: return Color.white;
            default: return graphic.getColor();
        }
        
    }
    
    private Color farbeZuColor(String farbe)
    {
        if (farbe=="weiss") return Color.white;
        if (farbe=="schwarz") return Color.black;
        if (farbe=="rot") return Color.red;
        if (farbe=="gruen") return Color.green;
        if (farbe=="blau") return Color.blue;
        if (farbe=="gelb") return Color.yellow;
        if (farbe=="magenta") return Color.magenta;
        if (farbe=="cyan") return Color.cyan;
        if (farbe=="grau") return Color.gray;
        return graphic.getColor();
    }
    
    private String colorZuFarbe(Color color)
    {
        if (color==Color.white) return "weiss";
        if (color==Color.black) return "schwarz";
        if (color==Color.red) return "rot";
        if (color==Color.green) return "gruen";
        if (color==Color.blue) return "blau";
        if (color==Color.yellow) return "gelb";
        if (color==Color.magenta) return "magenta";
        if (color==Color.cyan) return "cyan";
        if (color==Color.gray) return "gruen";
        return "";
    }

    /**
     * Gibt die aktuelle Vordergrundfarbe des Zeichenfensters zur?ck.
     * @return   die aktuelle Vordergrundfarbe 
     */
    public String gibVordergrundFarbe()
    {
        return colorZuFarbe(graphic.getColor());
    }
    //public Color gibVordergrundFarbe()
    //{
    //    return graphic.getColor();
    //}

    /**
     * Setzt die Hintergrundfarbe des Zeichenfensters.
     * @param  neueFarbe   neue Hintergrundfarbe 
     */
    public void setzeHintergrundFarbe(String neueFarbe)
    {
        backgroundColor = farbeZuColor(neueFarbe);   
        graphic.setBackground(backgroundColor);
    }
    private void setzeHintergrundFarbe(Color neueFarbe)
    {
        backgroundColor = neueFarbe;   
        graphic.setBackground(neueFarbe);
    }

    /**
     * Gibt die aktuelle Hintergrundfarbe des Zeichenfensters zur?ck.
     * @return   die aktuelle Hintergrundfarbe 
     */
    public String gibHintergrundFarbe()
    {
        return colorZuFarbe(backgroundColor);
    }
    //public Color gibHintergrundFarbe()
    //{
    //    return backgroundColor;
    //}

    /**
     * ?ndert den aktuellen Zeichensatz des Zeichenfensters.
     * @param  neuerZeichensatz   Zeichensatz, der k?nftig f?r Zeichenkettenausgaben verwendet wird
     */
    public void setzeZeichensatz(Font neuerZeichensatz)
    {
        graphic.setFont(neuerZeichensatz);
    }

    /**
     * Gibt den aktuellen Zeichensatz des Zeichenfensters zur?ck.
     * @return     den aktuellen Zeichensatz
     **/
    public Font gibZeichensatz()
    {
        return graphic.getFont();
    }

    /**
     * ?ndert die Abmessungen des Zeichenfensters.
     * @param  breite    neue Breite 
     * @param  hoehe     neue H?he 
     */
    public void setzeMasse(int breite, int hoehe)
    {
        canvas.setPreferredSize(new Dimension(breite, hoehe));
        Image oldImage = canvasImage;
        canvasImage = canvas.createImage(breite, hoehe);
        graphic = (Graphics2D)canvasImage.getGraphics();
        graphic.drawImage(oldImage, 0, 0, null);
        frame.pack();
    }

    /**
     * Gibt die Abmessungen des Zeichenfensters zur?ck.
     * @return     die aktuellen Abmessungen des Zeichenfensters
     */
    public Dimension gibMasse()
    {
        return canvas.getSize();
    }

    /**
     * Wartet eine bestimmte Zeit.
     * Eine kurze Verz?gerung kann z. B. f?r Animationen verwendet werden.
     * @param  zeit  Wartezeit in Millisekunden 
     */
    public void warte(int zeit)
    {
        try
        {
            Thread.sleep(zeit);
        } 
        catch (InterruptedException e)
        {
            // ignoring exception at the moment
        }
    }

    /**
     * F?gt ein weiteres Steuerungselement in die rechte Steuerungsleiste ein.
     * @param  element  Das einzuf?gende Steuerungselement muss aus JComponent abgeleitet
     * sein. z. B. JButton, JComboBox. 
     */
    public void komponenteHinzufuegen(JComponent element, String position)
    {
        if (position=="rechts") steuerungOst.add(element);
        else if (position=="unten") steuerungSued.add(element);
        frame.pack();
    }
    
    /**
     * Beschriftet den Titel des Zeichenfensters neu.
     * @param  titelNeu  Text der neuen Fenster?berschrift
     */
    public void setzeTitel(String titelNeu)
    {
        frame.setTitle(titelNeu);
    }

    /************************************************************************
     * Nested class CanvasPane - the actual canvas component contained in the
     * Canvas frame. This is essentially a JPanel with added capability to
     * refresh the image drawn on it.
     */
    private class CanvasPane extends JPanel
    {
        private static final long serialVersionUID = 20060330L;
        
        public void paint(Graphics g)
        {
            g.drawImage(canvasImage, 0, 0, null);
        }
    }
}

KASTEN
Java:
public class KASTEN
{    
    private int laenge, breite, oben, links, farbe, welchen;   
    public KASTEN(int li, int ob,int  br, int lae, int farb)
    {
    laenge = lae;
    breite = br;
    links = li;
    oben = ob;
    farbe = farb;    
    }    
public void zeichne()
{

        ZEICHENFENSTER.gibFenster().fuelleRechteck(links,oben,breite,laenge,farbe);
}
public void farbeaendern(int farbe_neu)
{
    farbe = farbe_neu;
}
}

SPIELFELD
Java:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class SPIELFELD
{

private KASTEN groß;
private KASTEN[][] felder = new KASTEN[3][3];
private boolean spieler1dran;
private int welchen, zugzahl, wieviele, k, j;
private int[] reihe = new int[9];
private boolean[] schongespielt = new boolean[9];


public SPIELFELD()
{
    
    zugzahl = 0;
   
    spieler1dran = true;
    groß = new KASTEN(50, 50, 400, 400, 0);
    groß.zeichne();
    for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                felder[i][j] = new KASTEN(50 + 140 * i, 50 + 140 * j, 120, 120, 8);
                felder[i][j].zeichne();
            }
        }
    
    
}
     





 public void feldfaerben(int welch)
    {
        welchen = welch;
        int feld = welchen-1;
        if (spieler1dran)
        {
            if(schongespielt[feld])
            {
                System.out.println("Wählen sie ein anderes Feld!"); 
            }
            else
            {
                felder[feld].farbeaendern(5);
                felder[feld].zeichne();
                spieler1dran = false;
                reihe[feld] = 2;
                zugzahl++;
                checkgewinn();
                schongespielt[feld] = true;
            }
        }
        else if (wieviele == 2)
        {
            
            if(schongespielt[feld])
            {
                System.out.println("Wählen sie ein anderes Feld!"); 
            }
            else
            {
                felder[feld].farbeaendern(2);
                spieler1dran = true;
                reihe[feld] = 9;
                zugzahl++;
                felder[feld].zeichne();
                checkgewinn();
                schongespielt[feld] = true;
            }
        }
        else if (wieviele == 1)
        {
            if (schongespielt[0] && zugzahl == 1)
            {
                System.out.println("Hier Springt es nicht rein");
            }
        }
    }





public void checkgewinn()
    {
        
        
            if (reihe[0]+reihe[1]+reihe[2]==6 || reihe[0]+reihe[3]+reihe[6]==6 || reihe[3]+reihe[4]+reihe[5]==6 ||
                reihe[6]+reihe[7]+reihe[8]==6 || reihe[2]+reihe[5]+reihe[8]==6 || reihe[1]+reihe[5]+reihe[7]==6 ||
                reihe[0]+reihe[4]+reihe[8]==6 || reihe[2]+reihe[4]+reihe[6]==6)
            
            {
                System.out.println("Spieler 1 gewinnt!");
                if (zugzahl >=9)
                  {
                      System.out.println("Unentschieden!");    
                  }
            }
            
            else if (reihe[0]+reihe[1]+reihe[2]==27 || reihe[0]+reihe[3]+reihe[6]==27 || reihe[3]+reihe[4]+reihe[5]==27 ||
                reihe[6]+reihe[7]+reihe[8]==27 || reihe[2]+reihe[5]+reihe[8]==27 || reihe[1]+reihe[5]+reihe[7]==27 ||
                reihe[0]+reihe[4]+reihe[8]==27 || reihe[2]+reihe[4]+reihe[6]==27)
                {
                    System.out.println("Spieler 2 gewinnt!");
                  if (zugzahl >=9)
                  {
                      System.out.println("Unentschieden!");    
                  }
                }
                
    }
    
    public void wieviele(int ein_oder_zwei_spieler)
    {
        wieviele = ein_oder_zwei_spieler;
    }
    
   
}

Danke für die Mühe
 

Ariol

Top Contributor
Woah....

Ganz ehrlich? Der Code ist ziemlich eklig.

  1. Vielleicht wäre es besser, wenn du erst einmal die Grundlagen der Sprache und der OOP lernen, bevor du dich an grafische Anwendungen wagst.
  2. Deutsche Attribute, Methoden und Parameter sind zwar grundsätzlich Geschmacksache, machen den Code aber zu einem nicht gut lesbaren Mischmasch.
  3. Dinge wie
    Code:
    int welchen;
    sind auch nicht gerade vorteilhaft.

Und zu guter letzt: Die Zeichnen-Klasse solltest du meiner Meinung nach wegwerfen.


Das geht nicht gegen dich, aber ich denke die Grundlagen wären erst einmal wichtiger.
Bei Fragen werde ich dir, wie sicher jeder andere hier, gerne helfen.


Nicht böse sein, dass soll konstruktive Kritik sein!


P.S.: Wenn du das doch durchziehen willst, können wir auch gerne mal drüber reden. Aber dann lieber als neues Projekt.
 

RunOrVeith

Mitglied
Ja, die Zeichenklasse finde ich auch nicht gut, aber die müssen wir von der Schule her benützen, da kann ich auch nichts dran machen und ich glaub dir gerne, dass ich eher die Grundlagen nicht so drauf habe...user Lehrer schaut immer während dem erklären selber zum ersten mal nach, ich hab halt versucht mirs n bisschen selbst beizubringen...

Ich hab das TicTacToe jetzt soweit, dass es für 1 und 2 Spieler läuft, ich weiß zwar, dass der Code an einigen Stellen nicht gerade schön ist, aber es funktioniert, und darum gehts erstmal, da unser Lehrer nur nach funktionalität geht :)

Dir auf jeden Fall ein herzliches Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Programm überspringt wichtige if-Schleife. Frameworks - Spring, Play, Blade, Vaadin & Co 6
P Skispringer-Programm Frameworks - Spring, Play, Blade, Vaadin & Co 14
C getSelectedRow() springt bei JButton-Auswahl nicht weiter mit Frameworks - Spring, Play, Blade, Vaadin & Co 16
G HILFE Dringend switch case springt nicht raus Frameworks - Spring, Play, Blade, Vaadin & Co 23
L Mauszeiger springt in obere linke Ecke des JDialogs Frameworks - Spring, Play, Blade, Vaadin & Co 3
D Button springt aus Textbox Frameworks - Spring, Play, Blade, Vaadin & Co 2
A Debugger springt in andere Klassen Frameworks - Spring, Play, Blade, Vaadin & Co 14
K Figur Springt nicht Frameworks - Spring, Play, Blade, Vaadin & Co 2
S Zeitmessung springt vorraus und funktioniert nicht! Frameworks - Spring, Play, Blade, Vaadin & Co 4
P Spieler im 2D-Spiel springt herum Frameworks - Spring, Play, Blade, Vaadin & Co 0
G JTable springt (JScrollPane, GridBagLayout) Frameworks - Spring, Play, Blade, Vaadin & Co 1
K TextWatcher springt nicht an Frameworks - Spring, Play, Blade, Vaadin & Co 9
T JTable + JScrollePane Größe "springt" beim resizen des Fensters Frameworks - Spring, Play, Blade, Vaadin & Co 4
engelsteufelin Taschenrechner springt an Start nach falscher Eingabe Frameworks - Spring, Play, Blade, Vaadin & Co 7
W Java Applet aus der Taskleiste springt in Vordergrund Frameworks - Spring, Play, Blade, Vaadin & Co 3
O Progressbar 'springt nicht an' Frameworks - Spring, Play, Blade, Vaadin & Co 5
B Exception springt nicht in den catch- Block Frameworks - Spring, Play, Blade, Vaadin & Co 14
F Debugging springt nicht in Methode - liefert null Frameworks - Spring, Play, Blade, Vaadin & Co 2
C LWUIT: Scrollen der Form springt am Ende Frameworks - Spring, Play, Blade, Vaadin & Co 0
Haave Animation "springt" trotz Wartebefehl Frameworks - Spring, Play, Blade, Vaadin & Co 3
J Eclipse springt nicht mehr an. Frameworks - Spring, Play, Blade, Vaadin & Co 8
nrg Debugger springt immer in Java SE Code Frameworks - Spring, Play, Blade, Vaadin & Co 3
D Methode springt zwischen returns Frameworks - Spring, Play, Blade, Vaadin & Co 2
Balbes JComboBox springt af den ersten Wert zurück Frameworks - Spring, Play, Blade, Vaadin & Co 6
Z JList "springt" Frameworks - Spring, Play, Blade, Vaadin & Co 5
R Spring Boot: Endpoint kann nicht gefunden werden (404) Frameworks - Spring, Play, Blade, Vaadin & Co 15
R Spring Boot läuft nicht auf Ubuntu Frameworks - Spring, Play, Blade, Vaadin & Co 6
ExceptionOfExpectation Form-Tag Input-Text Fehlerabfang, die eingegebene Id existiert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 5
H Spring Boot Applikation und JHM Benchmark sowie ContextConfiguration in H2 Tests ich bekomme es nicht hin Frameworks - Spring, Play, Blade, Vaadin & Co 2
thor_norsk Javac nicht vorhanden in Java-17-openjdk-amd64 Frameworks - Spring, Play, Blade, Vaadin & Co 8
R OAuth: Bekomme die E-Mail-Adresse des Benutzers nicht Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Spring 2.7.8 Info Enpoint nicht zuerreichen Frameworks - Spring, Play, Blade, Vaadin & Co 1
gradlew.bat spring-boot:run funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 4
D Primefaces: BlockUI blockt nicht Frameworks - Spring, Play, Blade, Vaadin & Co 0
Zrebna SpringBoot: Einfache RestAPI konsumieren gelingt nicht. Frameworks - Spring, Play, Blade, Vaadin & Co 6
Zrebna Thymeleaf: Wieso Dropdown-Menu nicht ausklappbar? Frameworks - Spring, Play, Blade, Vaadin & Co 1
Zrebna Spring - Thymeleaf: Wieso wird gem. Fallunterscheidung entsprechende View nicht geladen? Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Beim WebMVC Test wird Resource File nicht gefunden. Frameworks - Spring, Play, Blade, Vaadin & Co 1
R Warum soll man einen User nicht nur mit einem Session identifizieren? Frameworks - Spring, Play, Blade, Vaadin & Co 0
Zrebna Vaadin: ToolbarButton - Breite für Caption reicht nicht aus. Frameworks - Spring, Play, Blade, Vaadin & Co 1
D Mapstruct Dependency Injection funktioniert nicht mit Spring Frameworks - Spring, Play, Blade, Vaadin & Co 15
OnDemand JsonInclude NON_NULL funktioniert nicht bei String? Frameworks - Spring, Play, Blade, Vaadin & Co 4
Zrebna Vaadin: Falls ToolbarButton nicht enabled ist, dann nicht klickbar? Frameworks - Spring, Play, Blade, Vaadin & Co 2
OnDemand SpringBoot Logrotation funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 6
8u3631984 eureka server in Gradle Projekt kann Methoden nicht finden Frameworks - Spring, Play, Blade, Vaadin & Co 5
Robertop Springboot Server kann Jakarta Persistence Root nicht installieren? Frameworks - Spring, Play, Blade, Vaadin & Co 0
JanKrieger05 Validierung vom nested Objekt funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 0
OnDemand Spring+Vaadin App startet nicht Frameworks - Spring, Play, Blade, Vaadin & Co 1
OnDemand Spring Repo speichert, aber es kommt in der DB nicht an Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Spring Boot im Docker Container - Logback wird nicht verwendet Frameworks - Spring, Play, Blade, Vaadin & Co 13
pkm Custom-css in Vaadin greift nicht. Frameworks - Spring, Play, Blade, Vaadin & Co 1
S Spring - Zugriff auf Modellattribute in JPA funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 1
OnDemand Vaadin Loading Spinner zeigt es nicht an Frameworks - Spring, Play, Blade, Vaadin & Co 1
D Twitter4j findet Klasse nicht (Maven/Intellij) Frameworks - Spring, Play, Blade, Vaadin & Co 4
OnDemand Zuul -Eureka - Services nicht gefunden 404 obwohl online Frameworks - Spring, Play, Blade, Vaadin & Co 0
Avalon CSS Datei wird in Spring Boot mit Thymeleaf im Standardordner nicht gefunden Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Spring Test findet Component nicht Frameworks - Spring, Play, Blade, Vaadin & Co 4
S Spring Boot startet nicht Frameworks - Spring, Play, Blade, Vaadin & Co 3
tom.j85 SpringBoot Rest-Application funktioniert nicht - Keine Fehlermeldungen Frameworks - Spring, Play, Blade, Vaadin & Co 13
F spring apllication startet nicht, ports werden verwednet Frameworks - Spring, Play, Blade, Vaadin & Co 12
S Spring JPA / Hibernate: save Methode arbeitet nicht Frameworks - Spring, Play, Blade, Vaadin & Co 2
R Spring Data: Hibernate liest nicht alle Ebenen Frameworks - Spring, Play, Blade, Vaadin & Co 5
robinab JavaFX + Spring4: fxml findet Controller nicht mehr Frameworks - Spring, Play, Blade, Vaadin & Co 11
D Spring Boot Controller kann nicht bei jedem Request erreicht werden Frameworks - Spring, Play, Blade, Vaadin & Co 7
Z Springboot - Hauptklasse nicht gefunden Frameworks - Spring, Play, Blade, Vaadin & Co 5
A RadioButtons springen nicht automatisch auf false Frameworks - Spring, Play, Blade, Vaadin & Co 3
Psypsy Spring Boot mit JSF bekomme ich nicht zum laufen Frameworks - Spring, Play, Blade, Vaadin & Co 0
H spring jpa eclipselink - extern geänderte Daten werden nicht gelesen Frameworks - Spring, Play, Blade, Vaadin & Co 1
S Spring MVC Rest Multipart Upload funktioniert nicht! Frameworks - Spring, Play, Blade, Vaadin & Co 1
T Gibt es einen Grund nicht Spring zu verwenden? Frameworks - Spring, Play, Blade, Vaadin & Co 5
C Spring findet Bean nicht Frameworks - Spring, Play, Blade, Vaadin & Co 0
S Spring Data JPA - Repositories werden nicht injected Frameworks - Spring, Play, Blade, Vaadin & Co 2
Y Liferay + Spring + Spring Mvs -> @Autowired geht nicht Frameworks - Spring, Play, Blade, Vaadin & Co 0
J Spring AOP "aop:config" nicht gefunden Frameworks - Spring, Play, Blade, Vaadin & Co 0
M Spring DI funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 1
P Spring JDBC bekomme ich nicht zum laufen Frameworks - Spring, Play, Blade, Vaadin & Co 2
R Spring kann Bean über Konstruktor nicht erstellen Frameworks - Spring, Play, Blade, Vaadin & Co 9
M findet Spring bundles nicht? Frameworks - Spring, Play, Blade, Vaadin & Co 0
G Spring XFire finde WSDL nicht Frameworks - Spring, Play, Blade, Vaadin & Co 2
J spring kann eine bean nicht erzeugen Frameworks - Spring, Play, Blade, Vaadin & Co 2
T Spring-Transaktion wird nicht gestartet per Annotation ("no transaction is in progress") Frameworks - Spring, Play, Blade, Vaadin & Co 5
A Spring MVC / JSP und Defaultwerte für nicht ausgefüllte Textfelder Frameworks - Spring, Play, Blade, Vaadin & Co 0
Y Spring - @Autowired funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 12
A JSF mit Spring Web Flow: Flow wird nicht gestartet Frameworks - Spring, Play, Blade, Vaadin & Co 2
I Spring Security 404 Fehler bei Login -> Findet Seite nicht Frameworks - Spring, Play, Blade, Vaadin & Co 0
S Direkt zur Methode springen die in der Klasse und nicht im Interface implementiert? Frameworks - Spring, Play, Blade, Vaadin & Co 4

Ähnliche Java Themen

Neue Themen


Oben