Applet Oberfläche aktualisieren

Moinsn

Mitglied
Moinsn,

Ich hab ein kleines Problem bei meinem Applet. Ich generiere aus Buttons eine Art Spielfeld, das sich durch Rekursion verändert, in ein 2D Array. Das selbe Spielfeld ist im Applet durch jToggelButtons visualisiert. Leider scheint es als würde die GUI nicht aktualisiert werden. Die eigendl. Methode scheint zu funktionieren denn wenn ich zwischen jeder Spielfeldänderung einen ActionEvent auf einen Button setze und somit jeden Rekursionsaufruf durch Buttonklick bestätigen muss, aktualisiert er die GUI.
Ich hab erfolglos versucht mit sleep ne unterbrechung nach der GUI veränderung ein zu bauen was nicht geklappt hat. Ein Versuch dat irgendwie in einen Thread zu bauen war auch erfolglos.
Ich muss das Projekt Ende der Woche abgeben und hab echte Bedenken deswegen. :bahnhof:
DANKE

Java:
import java.applet.Applet;
import java.awt.Rectangle;

import javax.swing.JToggleButton;
import java.applet.Applet;
import java.awt.Frame;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JTextArea;
import javax.swing.JToggleButton;
import javax.swing.JButton;

public class gui extends Applet{

	private static final long serialVersionUID = 1L;
	
	
	
	int mainCount=0;
	opportunities tempOpp;  
	ArrayList<int[]> opps;  
	opportunities tempCountOpp;
	ArrayList<opportunities> List = new ArrayList<opportunities>();  
	char[][] playingField = new char[9][9];
	int count=0;
	JTextArea JTxtArea;
	gui myGui;
	
	int[] Cord;
	int[] newCord;
	
	private ArrayList<ArrayList<int[]>> Zuege = new ArrayList<ArrayList<int[]>>();  //  @jve:decl-index=0:
	
	
	public static JToggleButton jToggleButton1 = null;
	public static JToggleButton jToggleButton2 = null;
	public static JToggleButton jToggleButton3 = null;
	public static JToggleButton jToggleButton4 = null;
	public static JToggleButton jToggleButton5 = null;
	public static JToggleButton jToggleButton6 = null;
	public static JToggleButton jToggleButton7 = null;
	public static JToggleButton jToggleButton8 = null;
	public static JToggleButton jToggleButton9 = null;
	public static JToggleButton jToggleButton10 = null;
	public static JToggleButton jToggleButton11 = null;
	public static JToggleButton jToggleButton12 = null;
	public static JToggleButton jToggleButton13 = null;
	public static JToggleButton jToggleButton14 = null;
	public static JToggleButton jToggleButton15 = null;
	public static JToggleButton jToggleButton16 = null;
	public static JToggleButton jToggleButton17 = null;
	public static JToggleButton jToggleButton18 = null;
	public static JToggleButton jToggleButton19 = null;
	public static JToggleButton jToggleButton20 = null;
	public static JToggleButton jToggleButton21 = null;
	public static JToggleButton jToggleButton22 = null;
	public static JToggleButton jToggleButton23 = null;
	public static JToggleButton jToggleButton24 = null;
	public static JToggleButton jToggleButton25 = null;
	public static JToggleButton jToggleButton26 = null;
	public static JToggleButton jToggleButton27 = null;
	public static JToggleButton jToggleButton28 = null;
	public static JToggleButton jToggleButton29 = null;
	public static JToggleButton jToggleButton30 = null;
	public static JToggleButton jToggleButton31 = null;
	public static JToggleButton jToggleButton32 = null;
	public static JToggleButton jToggleButton33 = null;
	

	private JButton jStartButton = null;
	private JButton jStopButton = null;
	public static JTextArea jTextArea = null;

	
	
	
	
	
	
	public static void main(String[] args) {
		
		gui myMain = new gui();
		myMain.createField();
	}
	
	
	public gui() {
		super();
	}

	
	public void init() {
		this.setLayout(null);
		this.setSize(702, 483);

		this.add(getJToggleButton1(), null);
		this.add(getJToggleButton2(), null);
		this.add(getJToggleButton3(), null);
		this.add(getJToggleButton4(), null);
		this.add(getJToggleButton5(), null);
		this.add(getJToggleButton6(), null);
		this.add(getJToggleButton7(), null);
		this.add(getJToggleButton8(), null);
		this.add(getJToggleButton9(), null);
		this.add(getJToggleButton10(), null);
		this.add(getJToggleButton11(), null);
		this.add(getJToggleButton12(), null);
		this.add(getJToggleButton13(), null);
		this.add(getJToggleButton14(), null);
		this.add(getJToggleButton15(), null);
		this.add(getJToggleButton16(), null);
		this.add(getJToggleButton17(), null);
		this.add(getJToggleButton18(), null);
		this.add(getJToggleButton19(), null);
		this.add(getJToggleButton20(), null);
		this.add(getJToggleButton21(), null);
		this.add(getJToggleButton22(), null);
		this.add(getJToggleButton23(), null);
		this.add(getJToggleButton24(), null);
		this.add(getJToggleButton25(), null);
		this.add(getJToggleButton26(), null);
		this.add(getJToggleButton27(), null);
		this.add(getJToggleButton28(), null);
		this.add(getJToggleButton29(), null);
		this.add(getJToggleButton30(), null);
		this.add(getJToggleButton31(), null);
		this.add(getJToggleButton32(), null);
		this.add(getJToggleButton33(), null);
		this.add(getJStartButton(), null);
		this.add(getJStopButton(), null);
		this.add(getJTextArea(), null);		
	}


	private JToggleButton getJToggleButton1() {
		if (jToggleButton1 == null) {
			jToggleButton1 = new JToggleButton();
			jToggleButton1.setBounds(new Rectangle(162, 54, 55, 55));
		}
		return jToggleButton1;
	}

	private JToggleButton getJToggleButton2() {
		if (jToggleButton2 == null) {
			jToggleButton2 = new JToggleButton();
			jToggleButton2.setBounds(new Rectangle(216, 54, 55, 55));
		}
		return jToggleButton2;
	}

	private JToggleButton getJToggleButton3() {
		if (jToggleButton3 == null) {
			jToggleButton3 = new JToggleButton();
			jToggleButton3.setBounds(new Rectangle(270, 54, 55, 55));
		}
		return jToggleButton3;
	}

	private JToggleButton getJToggleButton4() {
		if (jToggleButton4 == null) {
			jToggleButton4 = new JToggleButton();
			jToggleButton4.setBounds(new Rectangle(162, 108, 55, 55));
		}
		return jToggleButton4;
	}

	private JToggleButton getJToggleButton5() {
		if (jToggleButton5 == null) {
			jToggleButton5 = new JToggleButton();
			jToggleButton5.setBounds(new Rectangle(216, 108, 55, 55));
		}
		return jToggleButton5;
	}

	private JToggleButton getJToggleButton6() {
		if (jToggleButton6 == null) {
			jToggleButton6 = new JToggleButton();
			jToggleButton6.setBounds(new Rectangle(270, 108, 55, 55));
		}
		return jToggleButton6;
	}

	private JToggleButton getJToggleButton7() {
		if (jToggleButton7 == null) {
			jToggleButton7 = new JToggleButton();
			jToggleButton7.setBounds(new Rectangle(54, 162, 55, 55));
		}
		return jToggleButton7;
	}
	
	private JToggleButton getJToggleButton8() {
		if (jToggleButton8 == null) {
			jToggleButton8 = new JToggleButton();
			jToggleButton8.setBounds(new Rectangle(108, 162, 55, 55));
		}
		return jToggleButton8;
	}

	private JToggleButton getJToggleButton9() {
		if (jToggleButton9 == null) {
			jToggleButton9 = new JToggleButton();
			jToggleButton9.setBounds(new Rectangle(162, 162, 55, 55));
		}
		return jToggleButton9;
	}

	private JToggleButton getJToggleButton10() {
		if (jToggleButton10 == null) {
			jToggleButton10 = new JToggleButton();
			jToggleButton10.setBounds(new Rectangle(216, 162, 55, 55));
		}
		return jToggleButton10;
	}

	private JToggleButton getJToggleButton11() {
		if (jToggleButton11 == null) {
			jToggleButton11 = new JToggleButton();
			jToggleButton11.setBounds(new Rectangle(270, 162, 55, 55));
		}
		return jToggleButton11;
	}
	
	private JToggleButton getJToggleButton12() {
		if (jToggleButton12 == null) {
			jToggleButton12 = new JToggleButton();
			jToggleButton12.setBounds(new Rectangle(324, 162, 55, 55));

		}
		return jToggleButton12;
	}

	private JToggleButton getJToggleButton13() {
		if (jToggleButton13 == null) {
			jToggleButton13 = new JToggleButton();
			jToggleButton13.setBounds(new Rectangle(378, 162, 55, 55));
		}
		return jToggleButton13;
	}

	private JToggleButton getJToggleButton14() {
		if (jToggleButton14 == null) {
			jToggleButton14 = new JToggleButton();
			jToggleButton14.setBounds(new Rectangle(54, 216, 55, 55));
		}
		return jToggleButton14;
	}

	private JToggleButton getJToggleButton15() {
		if (jToggleButton15 == null) {
			jToggleButton15 = new JToggleButton();
			jToggleButton15.setBounds(new Rectangle(108, 216, 55, 55));
		}
		return jToggleButton15;
	}
	
	private JToggleButton getJToggleButton16() {
		if (jToggleButton16 == null) {
			jToggleButton16 = new JToggleButton();
			jToggleButton16.setBounds(new Rectangle(162, 216, 55, 55));
		}
		return jToggleButton16;
	}

	private JToggleButton getJToggleButton17() {
		if (jToggleButton17 == null) {
			jToggleButton17 = new JToggleButton();
			jToggleButton17.setBounds(new Rectangle(216, 216, 55, 55));
		}
		return jToggleButton17;
	}

	private JToggleButton getJToggleButton18() {
		if (jToggleButton18 == null) {
			jToggleButton18 = new JToggleButton();
			jToggleButton18.setBounds(new Rectangle(270, 216, 55, 55));
		}
		return jToggleButton18;
	}

	private JToggleButton getJToggleButton19() {
		if (jToggleButton19 == null) {
			jToggleButton19 = new JToggleButton();
			jToggleButton19.setBounds(new Rectangle(324, 216, 55, 55));

		}
		return jToggleButton19;
	}
	
	private JToggleButton getJToggleButton20() {
		if (jToggleButton20 == null) {
			jToggleButton20 = new JToggleButton();
			jToggleButton20.setBounds(new Rectangle(378, 216, 55, 55));
		}
		return jToggleButton20;
	}

	private JToggleButton getJToggleButton21() {
		if (jToggleButton21 == null) {
			jToggleButton21 = new JToggleButton();
			jToggleButton21.setBounds(new Rectangle(54, 270, 55, 55));
		}
		return jToggleButton21;
	}
	
	private JToggleButton getJToggleButton22() {
		if (jToggleButton22 == null) {
			jToggleButton22 = new JToggleButton();
			jToggleButton22.setBounds(new Rectangle(108, 270, 55, 55));
		}
		return jToggleButton22;
	}
	
	private JToggleButton getJToggleButton23() {
		if (jToggleButton23 == null) {
			jToggleButton23 = new JToggleButton();
			jToggleButton23.setBounds(new Rectangle(162, 270, 55, 55));
		}
		return jToggleButton23;
	}
	
	private JToggleButton getJToggleButton24() {
		if (jToggleButton24 == null) {
			jToggleButton24 = new JToggleButton();
			jToggleButton24.setBounds(new Rectangle(216, 270, 55, 55));
		}
		return jToggleButton24;
	}
	
	private JToggleButton getJToggleButton25() {
		if (jToggleButton25 == null) {
			jToggleButton25 = new JToggleButton();
			jToggleButton25.setBounds(new Rectangle(270, 270, 55, 55));
		}
		return jToggleButton25;
	}
	
	private JToggleButton getJToggleButton26() {
		if (jToggleButton26 == null) {
			jToggleButton26 = new JToggleButton();
			jToggleButton26.setBounds(new Rectangle(324, 270, 55, 55));
		}
		return jToggleButton26;
	}
	
	private JToggleButton getJToggleButton27() {
		if (jToggleButton27 == null) {
			jToggleButton27 = new JToggleButton();
			jToggleButton27.setBounds(new Rectangle(378, 270, 55, 55));
		}
		return jToggleButton27;
	}
	
	private JToggleButton getJToggleButton28() {
		if (jToggleButton28 == null) {
			jToggleButton28 = new JToggleButton();
			jToggleButton28.setBounds(new Rectangle(162, 324, 55, 55));
		}
		return jToggleButton28;
	}
	
	private JToggleButton getJToggleButton29() {
		if (jToggleButton29 == null) {
			jToggleButton29 = new JToggleButton();
			jToggleButton29.setBounds(new Rectangle(216, 324, 55, 55));
		}
		return jToggleButton29;
	}
	
	private JToggleButton getJToggleButton30() {
		if (jToggleButton30 == null) {
			jToggleButton30 = new JToggleButton();
			jToggleButton30.setBounds(new Rectangle(270, 324, 55, 55));
		}
		return jToggleButton30;
	}
	
	private JToggleButton getJToggleButton31() {
		if (jToggleButton31 == null) {
			jToggleButton31 = new JToggleButton();
			jToggleButton31.setBounds(new Rectangle(162, 378, 55, 55));
		}
		return jToggleButton31;
	}
	
	private JToggleButton getJToggleButton32() {
		if (jToggleButton32 == null) {
			jToggleButton32 = new JToggleButton();
			jToggleButton32.setBounds(new Rectangle(216, 378, 55, 55));
		}
		return jToggleButton32;
	}
	
	private JToggleButton getJToggleButton33() {
		if (jToggleButton33 == null) {
			jToggleButton33 = new JToggleButton();
			jToggleButton33.setBounds(new Rectangle(270, 378, 55, 55));
		}
		return jToggleButton33;
	}
	
	private JButton getJStartButton() {
		if (jStartButton == null) {
			jStartButton = new JButton();
			jStartButton.setBounds(new Rectangle(516, 368, 121, 49));
			jStartButton.setText("Start");
			jStartButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
					createField();
				}
			});
		}
		return jStartButton;
	}
	
	private JButton getJStopButton() {
		if (jStopButton == null) {
			jStopButton = new JButton();
			jStopButton.setBounds(new Rectangle(516, 268, 121, 49));
			jStopButton.setText("Stop");
			jStopButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					newLevel();
				}
			});
		}
		return jStopButton;
	}
	
	private JTextArea getJTextArea() {
		if (jTextArea == null) {
			jTextArea = new JTextArea();
			jTextArea.setBounds(new Rectangle(457, 37, 229, 202));
			
		}
		return jTextArea;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	


	public void createField() { 		
		
		for(int v=0; v<playingField.length; v++)
			for(int h=0; h<playingField.length; h++)
				playingField[v][h] = 'O';
			
		for(int v=0; v<playingField.length; v++) {
			for(int h=0; h<playingField.length; h++) {
				if(v<playingField.length/3 && ( h<playingField.length/3 || h>=6) || v>=6 && ( h<playingField.length/3 || h>=6 ) || v==0 || v==playingField.length-1 || h==0)
					playingField[v][h] = 'x';
			}
		}
		playingField[3][8] = 'x';
		playingField[5][8] = 'x';
		playingField[4][8] = 'x';
		
		playingField[4][4]= '#';
		
		
		List.add(new opportunities(playingField));
		
		setStone();
	}
	
	
	public void goBack() {
		
		mainCount -= 1;
		count = List.size()-2;
		int temp = List.size()-1;
		
		List.remove(temp);
		
		Zuege.remove(Zuege.size()-1);
		
		setStone();
		
	}
	
	
	public void newLevel() {
		
		count = List.size()-1;
		Cord = null;	
		Cord = opps.get(2);
		List.add(new opportunities(playingField, Cord));
		

		
		setStone();	
	}
	
	
	public void setStone() {
		tempOpp = List.get(count);
		
		for(int i=0; i<9; i++)
			for(int j=0; j<9; j++)
				playingField[i][j] = tempOpp.playingField[i][j];
				
		System.out.println("Anz. Moeglichkeiten = "+tempOpp.allOpps.size());		
//		jTextArea.setText("Anz. Moeglichkeiten = "+tempOpp.allOpps.size());
		
		if(tempOpp.getAnz() == 1 && mainCount<35){ 
			tempOpp.printField();
			
	//		jTextArea.setText("\nENDE... mit " +mainCount +" Zügen!");
			System.out.println("\nENDE... mit " +mainCount +" Zügen!");
			
			for(int i=0; i<Zuege.size(); i++){
				for(int j=0; j<Zuege.get(i).size(); j++){
					for(int z=0; z<Zuege.get(i).get(j).length; z++){
						System.out.print(Zuege.get(i).get(j)[z]);
						System.out.print("/");
						
					}
					System.out.print("; ");
				}
				System.out.print("\n");
			}
			return;
		}
		
		
		
		opps = null;
		opps = tempOpp.getCords();
			
		tempOpp.printField();
		
		try {
			Thread.sleep(500);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		this.setVisible(false);
		this.setVisible(true);
		
		if(opps == null){
			System.out.println("\n\n\nback_________________________");
			goBack();
			
		
		}
		else{
			
			/*
			if(tempOpp.getLastCord() !=  opps.get(0)){
				System.out.println("MACHE SPRUNG! Letzte Koordinate: "+tempOpp.getLastCord()+"Neue Koordinate: "+opps.get(0));
				mainCount++;
			}
			else {
				System.out.println("MACHE ZUG");
				Scanner scan = new Scanner(System.in);
				scan.next();
			}
			*/
			mainCount++;
			System.out.println("mainCount: " +mainCount);
			
			
			System.out.println("Anz. Durchläufe: "+mainCount);
			System.out.println("Anz. Sprünge: "+List.size());
			
			System.out.println("setStone say-> I get cords: "+((int[])opps.get(0))[0] +" ; " +((int[])opps.get(0))[1]);
			System.out.println("setStone say-> I get cords: "+((int[])opps.get(1))[0] +" ; " +((int[])opps.get(1))[1]);
			System.out.println("setStone say-> I get cords: "+((int[])opps.get(2))[0] +" ; " +((int[])opps.get(2))[1]+"\n");
			
			
			
			playingField[((int[])opps.get(0))[0]][((int[])opps.get(0))[1]] = '#';
			playingField[((int[])opps.get(1))[0]][((int[])opps.get(1))[1]] = '#';
			playingField[((int[])opps.get(2))[0]][((int[])opps.get(2))[1]] = 'O';
			
			Zuege.add(opps);
			
			//Scanner scan = new Scanner(System.in);
			//scan.next();
			
			this.jStopButton.enable();
			click2next();
			newLevel();			
		}
	}
	
	
	public void click2next() {
		jStopButton.doClick();
	} 





















}  //  @jve:decl-index=0:visual-constraint="224,8"

Java:
import java.util.ArrayList;

import javax.swing.JTextArea;

public class opportunities{

	
	public char[][] playingField = new char[9][9];
	public ArrayList<ArrayList<int[]>> allOpps = new ArrayList<ArrayList<int[]>>();	
	int[] LastCord;
	int guiCount=0;
	
	
	public opportunities(char[][] playingField, int[] cord) {
		this.LastCord = cord;
		
		for(int i=0; i<9; i++)
			for(int j=0; j<9; j++)
				this.playingField[i][j] = playingField[i][j];
				
		oppAnalyse();
		
	}
	
	
	public opportunities(char[][] playingField) {
		for(int i=0; i<9; i++)
			for(int j=0; j<9; j++)
				this.playingField[i][j] = playingField[i][j];
		
		oppAnalyse();		
	}


	public void printField(){
		
		
		if(playingField[1][3]=='#')
			gui.jToggleButton1.setSelected(true);
		else 
			gui.jToggleButton1.setSelected(false);
		
		if(playingField[1][4]=='#')
			gui.jToggleButton2.setSelected(true);
		else 
			gui.jToggleButton2.setSelected(false);
	
		if(playingField[1][5]=='#')
			gui.jToggleButton3.setSelected(true);
		else 
			gui.jToggleButton3.setSelected(false);
	
		if(playingField[2][3]=='#')
			gui.jToggleButton4.setSelected(true);
		else 
			gui.jToggleButton4.setSelected(false);
	
		if(playingField[2][4]=='#')
			gui.jToggleButton5.setSelected(true);
		else 
			gui.jToggleButton5.setSelected(false);
	
		if(playingField[2][5]=='#')
			gui.jToggleButton6.setSelected(true);
		else 
			gui.jToggleButton6.setSelected(false);
	
		if(playingField[3][1]=='#')
			gui.jToggleButton7.setSelected(true);
		else 
			gui.jToggleButton7.setSelected(false);
	
		if(playingField[3][2]=='#')
			gui.jToggleButton8.setSelected(true);
		else 
			gui.jToggleButton8.setSelected(false);
	
		if(playingField[3][3]=='#')
			gui.jToggleButton9.setSelected(true);
		else 
			gui.jToggleButton9.setSelected(false);
	
		if(playingField[3][4]=='#')
			gui.jToggleButton10.setSelected(true);
		else 
			gui.jToggleButton10.setSelected(false);

		if(playingField[3][5]=='#')
			gui.jToggleButton11.setSelected(true);
		else 
			gui.jToggleButton11.setSelected(false);

		if(playingField[3][6]=='#')
			gui.jToggleButton12.setSelected(true);
		else 
			gui.jToggleButton12.setSelected(false);

		if(playingField[3][7]=='#')
			gui.jToggleButton13.setSelected(true);
		else 
			gui.jToggleButton13.setSelected(false);

		if(playingField[4][1]=='#')
			gui.jToggleButton14.setSelected(true);
		else 
			gui.jToggleButton14.setSelected(false);
	
		if(playingField[4][2]=='#')
			gui.jToggleButton15.setSelected(true);
		else 
			gui.jToggleButton15.setSelected(false);
	
		if(playingField[4][3]=='#')
			gui.jToggleButton16.setSelected(true);
		else 
			gui.jToggleButton16.setSelected(false);
	
		if(playingField[4][4]=='#')
			gui.jToggleButton17.setSelected(true);
		else 
			gui.jToggleButton17.setSelected(false);

		if(playingField[4][5]=='#')
			gui.jToggleButton18.setSelected(true);
		else 
			gui.jToggleButton18.setSelected(false);

		if(playingField[4][6]=='#')
			gui.jToggleButton19.setSelected(true);
		else 
			gui.jToggleButton19.setSelected(false);

		if(playingField[4][7]=='#')
			gui.jToggleButton20.setSelected(true);
		else 
			gui.jToggleButton20.setSelected(false);

		if(playingField[5][1]=='#')
			gui.jToggleButton21.setSelected(true);
		else 
			gui.jToggleButton21.setSelected(false);

		if(playingField[5][2]=='#')
			gui.jToggleButton22.setSelected(true);
		else 
			gui.jToggleButton22.setSelected(false);

		if(playingField[5][3]=='#')
			gui.jToggleButton23.setSelected(true);
		else 
			gui.jToggleButton23.setSelected(false);

		if(playingField[5][4]=='#')
			gui.jToggleButton24.setSelected(true);
		else 
			gui.jToggleButton24.setSelected(false);

		if(playingField[5][5]=='#')
			gui.jToggleButton25.setSelected(true);
		else 
			gui.jToggleButton25.setSelected(false);

		if(playingField[5][6]=='#')
			gui.jToggleButton26.setSelected(true);
		else 
			gui.jToggleButton26.setSelected(false);

		if(playingField[5][7]=='#')
			gui.jToggleButton27.setSelected(true);
		else 
			gui.jToggleButton27.setSelected(false);

		if(playingField[6][3]=='#')
			gui.jToggleButton28.setSelected(true);
		else 
			gui.jToggleButton28.setSelected(false);

		if(playingField[6][4]=='#')
			gui.jToggleButton29.setSelected(true);
		else 
			gui.jToggleButton29.setSelected(false);

		if(playingField[6][5]=='#')
			gui.jToggleButton30.setSelected(true);
		else 
			gui.jToggleButton30.setSelected(false);

		if(playingField[7][3]=='#')
			gui.jToggleButton31.setSelected(true);
		else 
			gui.jToggleButton31.setSelected(false);

		if(playingField[7][4]=='#')
			gui.jToggleButton32.setSelected(true);
		else 
			gui.jToggleButton32.setSelected(false);

		if(playingField[7][5]=='#')
			gui.jToggleButton33.setSelected(true);
		else 
			gui.jToggleButton33.setSelected(false);
	
		
		int i=0;
		int j=0;
		
		System.out.print(" ");
		for(int z=0; z<9; z++)
			System.out.print(z);
	
		System.out.println("");	
		
		for(i=0; i<playingField.length; i++){			
			System.out.print(i);
			for(j=0; j<playingField.length; j++){	
				System.out.print(playingField[i][j]);
			}
			System.out.println("");		
		}	
	}
	


	public int[] getLastCord() {
		return this.LastCord;
	}
	

	public char[][] getPlayingField() {
		return this.playingField;
	}
	
	
	public int getAnz() {
		int anz = 0;
		for(int i=0; i<9; i++) {
			for(int j=0; j<9; j++) {
				if(playingField[i][j] == 'O')
					anz++;
			}
		}
		return anz;
	}
	
	
	public ArrayList<int[]> getCords() {
				
		ArrayList<int[]> tempOpp = null;
		
		if(allOpps.isEmpty() || allOpps.size()<= 0) {
			System.out.println("getCord() says-> allOpps are Empty, i call goBack()");
			return null;
		}
		else {
			tempOpp = new ArrayList<int[]>(allOpps.get(allOpps.size()-1)); 

			System.out.println("getCord sys -> return ok");
			allOpps.remove(allOpps.size()-1);
		}
		
		return tempOpp;
	}
	
	

	public void oppAnalyse() {
	
		for(int i=0; i<9;i++) {
			for(int j=0; j<9;j++) {
				
				ArrayList<int[]> opps;
				
				if(i>2 && playingField[i][j] == 'O') {
					if(playingField[i-2][j] == '#' && playingField[i-1][j] == 'O') {
						opps = new ArrayList<int[]>();
						opps.add(new int[]{i,j});
						opps.add(new int[]{i-1,j});
						opps.add(new int[]{i-2,j});
						allOpps.add(opps);
					}
				}
				
				if(j>2 && playingField[i][j] == 'O')
					if(playingField[i][j-2] == '#' && playingField[i][j-1] == 'O') {
						opps = new ArrayList<int[]>();
						opps.add(new int[]{i,j});
						opps.add(new int[]{i,j-1});
						opps.add(new int[]{i,j-2});
						allOpps.add(opps);
				}
				
				if(i<7 && playingField[i][j] == 'O')
					if(playingField[i+2][j] == '#' && playingField[i+1][j] == 'O') {
						opps = new ArrayList<int[]>();
						opps.add(new int[]{i,j});
						opps.add(new int[]{i+1,j});
						opps.add(new int[]{i+2,j});		
						allOpps.add(opps);
				}
				
				if(j<7 && playingField[i][j] == 'O')
					if(playingField[i][j+2] == '#' && playingField[i][j+1] == 'O') {
						opps = new ArrayList<int[]>();
						opps.add(new int[]{i,j});
						opps.add(new int[]{i,j+1});
						opps.add(new int[]{i,j+2});				
						allOpps.add(opps);
				}

			}
		}
	}
}
 

chalkbag

Bekanntes Mitglied
Sry, dass ist verdammt viel code :eek:

aber machst du wenn du einen Button zeichnest auf dem Panle dann ein repaint() ? Gefunden hätte ich es zumindest nicht. Vielleicht hilfts
 

AmunRa

Gesperrter Benutzer
Du vermischst AWT mit swing komponenten. daher lieber ein JApplet verwenden.

Und wenn man bei Swing das Ausehen verändern möchte solltest du das immer im EDT machen daher

schau dir mal SwingUtil.invokeLater() an
 

Moinsn

Mitglied
DANKE für eure Zeit ...

aber machst du wenn du einen Button zeichnest auf dem Panle dann ein repaint() ?

ich hab kein Panel am Start da ich es eigendl. nicht brauche. Die Oberfläche ist Statisch und nur die Buttons werden auf pressed und notPressed gesetzt.

AmunRa hat gesagt.:
Du vermischst AWT mit swing komponenten.

DANKE :autsch:
Hatte ich und alle die da bisher sonst noch drauf geschaut haben nicht gerissen ^^
Hab jetzt nur die Klassenbezeichnung verändert. Mehr AWT solltes ja eigendl. nicht gewesen sein.
Leider ist das Resultat das gleiche.

Der aktualisiert die Applet GUI erst wenn ich meiner Rekursion einen ActionEventListener zwischen schalte. Als ich versucht habe das mal mit doClick() zu automatisieren funtzts wieder nicht mehr.
Es ist als ob der keine Rechenzeit bekommt.
Aber die Ausgabe auf der Kommandozeile (die in der gleichen Methode steht) geht :shock:

Die invokeLater() Funktion scheint genau das zu sein was ich suche .....
Nur weiß ich nicht genau was aus meinem Code ich da am besten drin ausführen kann.
Reicht es wenn ich meine gui.jToggleButton1.setSelected(true); da rein packe und dann in run() ein return zurück gebe.
 

AmunRa

Gesperrter Benutzer
HAllo ich hätte mal versucht dein Applet bie mir lauffähig zu machen, aber iwie versteh ich nicht was das Programm überhaupt machen soll.

Könntest du bitte mal beschreiben, was das gewünschte verhalten ist und was man da zur zet überhaupt sieht?

Übrigens in Java schreibt man Klassen mit großen Anfangsbuchstaben.so wie String und System
 

Moinsn

Mitglied
Das Applet soll wenns fertig ist die beste Lösung des Spiels Peg Solitär finden.
Hier beschrieben:
Peg Solitär

Damit das läuft musst du den Stack massiv erhöhen.
Ich hab teilweise -Xss1024m einstellen müssen...
und vorerst zum Glück richtige Ergebnisse erhalten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Applet Verknüpfungsproblem Allgemeine Java-Themen 6
L Applet Applet zu JavaWebStart migrieren - simples sample geht nicht Allgemeine Java-Themen 2
A Applet Applet debuggen und Logs finden Allgemeine Java-Themen 3
A Plot funktion applet Allgemeine Java-Themen 4
A Applet nullstelle Plot Allgemeine Java-Themen 1
A Applet in HTML einbinden Allgemeine Java-Themen 1
B Altes Applet anpassen Allgemeine Java-Themen 8
W Unterschied Standalone und Applet Allgemeine Java-Themen 1
L WebSign Applet der Deutschen Bank Allgemeine Java-Themen 0
K Applet in JApplet umwandeln Allgemeine Java-Themen 5
V Applet trotz Ausnahme blockiert Allgemeine Java-Themen 0
T Java Applet Berechtigungen Allgemeine Java-Themen 2
T 2D-Grafik Java Applet Rechtecke und Kreise Allgemeine Java-Themen 1
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
S Applet in html laden; InvocationTargetException,.. nur warum ? Allgemeine Java-Themen 0
S Java Applet wird dauerhaft blockiert Allgemeine Java-Themen 1
T Java applet args Allgemeine Java-Themen 5
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
L Java Applet - ClassNotFound online, offline korrekt Allgemeine Java-Themen 13
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
H Problem mit Applet (online / offline) Allgemeine Java-Themen 8
K Applet-Einbindung Allgemeine Java-Themen 11
T Java Applet in IE 8+9 Allgemeine Java-Themen 4
P Applet-Zugriffsrechte: merkwürdiges Verhalten Allgemeine Java-Themen 4
X Applet läuft nicht, Applet in Webseite einbinden Allgemeine Java-Themen 4
P Applet java 1.7 in Website einbinden ? Allgemeine Java-Themen 7
P Applet Applet einbinden Probleme Allgemeine Java-Themen 2
S URL File in Applet Allgemeine Java-Themen 16
S Fehler Applet-HTML Allgemeine Java-Themen 5
C Applet per Greasemonkey aufrufen Allgemeine Java-Themen 9
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
D JAVA Applet MVC? Allgemeine Java-Themen 2
E Application -> Applet Allgemeine Java-Themen 9
A Applet Mein Applet verursacht Browserabsturz Allgemeine Java-Themen 8
J Erste Schritte Applet allgemeine Funkion Allgemeine Java-Themen 8
T Java Application zu Applet Allgemeine Java-Themen 4
G Input/Output java applet schreibrechte Allgemeine Java-Themen 8
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
G java applet und com-port Allgemeine Java-Themen 7
A Applet Jar Datei auslesen Allgemeine Java-Themen 3
M Applet aus Eclipse Allgemeine Java-Themen 12
S Applet maximiert starten Allgemeine Java-Themen 5
A Email-Programm aus Applet öffnen Allgemeine Java-Themen 4
M AccessControlException bei Signiertem Applet Allgemeine Java-Themen 12
J Applet Ausgabe beim Speichern ausblenden Allgemeine Java-Themen 4
schlingel Webstart/Applet Problem - Classloader-Bug Allgemeine Java-Themen 7
W Java Applet läuft langsam Allgemeine Java-Themen 2
J Applet zum .java-Dateien auslesen/erstellen Allgemeine Java-Themen 5
S Timer in Applet? Allgemeine Java-Themen 11
S Applet Einbindung - Firefox kp, IE no way Allgemeine Java-Themen 8
N Gallery Remote Applet Allgemeine Java-Themen 2
F Link in Applet "verstecken" Allgemeine Java-Themen 3
F mit Applet auf .htaccess geschützte Dateien zugreifen Allgemeine Java-Themen 3
S Applet in Java NetBeans Allgemeine Java-Themen 3
E Applet neustarten Allgemeine Java-Themen 2
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
I RMI Signiertes Applet ohne Warnung? Allgemeine Java-Themen 14
S Mediaplayer-Applet Allgemeine Java-Themen 2
D Code wird im Applet nicht ausgeführt. Allgemeine Java-Themen 2
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
N Protocol Frame/Applet Allgemeine Java-Themen 4
J Aus Applikation ein Applet machen Allgemeine Java-Themen 5
S Directory im Applet auslesen Allgemeine Java-Themen 3
A Textdatei im Applet einlesen Allgemeine Java-Themen 2
S Applet funktioniert online - nur nicht lokal..? Allgemeine Java-Themen 2
N Java Applet im eingeschränkten Benutzeraccount Allgemeine Java-Themen 10
L Applet immer wieder neu laden - Problem Allgemeine Java-Themen 25
L Problem beim animieren von Bildern in Applet Allgemeine Java-Themen 23
L Problem mit Hintergrund bei JAVA Applet Allgemeine Java-Themen 27
T applet und JFrame Allgemeine Java-Themen 12
L Applet Verzeichnis lesen Allgemeine Java-Themen 3
J Ordnerstrukturen mit Applet Allgemeine Java-Themen 14
H importierte Bibliotheken in Applet? Allgemeine Java-Themen 4
lumo Applet exception Allgemeine Java-Themen 6
Developer_X Java Applet - Font aus datei laden Allgemeine Java-Themen 15
W Applet notinited nach Java Versionsupdate Allgemeine Java-Themen 12
M Erkennung von Daten in einem Applet Allgemeine Java-Themen 2
M wieder mal applet probleme Allgemeine Java-Themen 17
0 Sandbox und Applet Kommunikation Allgemeine Java-Themen 9
L Applet Problem - stockende und springende Bilderabfolge Allgemeine Java-Themen 12
ChackZz Applikation zu Applet umbauen Allgemeine Java-Themen 13
V Fehler bei Applet Allgemeine Java-Themen 11
G Frage zu Serverapplikation+Applet Allgemeine Java-Themen 2
MQue aus einem Applet auf Word zugreifen Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
N Applet Probleme Allgemeine Java-Themen 2
G Java Applet für VPN Allgemeine Java-Themen 2
C Applet: JFileChooser: PFad an HTML zürückgeben Allgemeine Java-Themen 4
B Zugriff mit einem Applet auf den Datenträger Allgemeine Java-Themen 11
S Applet Programmierung in Eclipse Allgemeine Java-Themen 12
M Applet in maximaler Bildschirmgroesse oeffnen? Allgemeine Java-Themen 7
J Applet in JAR packen - was muss in main() stehen? Allgemeine Java-Themen 12
P Applet Funktionalität überwachen Allgemeine Java-Themen 3
hdi Applet, JavaScript, PHP, mySQL -> Was brauch ich? Allgemeine Java-Themen 3
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
T Mit Applet per RandomAccessFile Datei öffnen Allgemeine Java-Themen 3
Horst79 Ein ganz simpler filebrowser als applet Allgemeine Java-Themen 2
A Problem mit signiertem Applet Allgemeine Java-Themen 8
T File runterladen mit meinem Applet? Allgemeine Java-Themen 4
F Java Print mit Applet einbinden Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben