4-Gewinnt als Applet

flipperweid

Mitglied
Hi,
also zunächst mal: Ich habe lange bei google gesucht (vllt. bin ich ein schlechter sucher) und nichts passendes gefunden.
Also ich habe 4-Gewinnt mit Oberfläche programmiert. War ziemlich aufwendig. Habe es mir auch höchst wahrscheinlich komplizierter gemacht als es ist. Tut aber ja auch nichts zur Sache, das Prog läuft.
Ich würde es bloß gerne als Applet auf meine Homepage tun, damit auch andere den Spaß an diesem Spiel genießen können:p
Ich habe oft gelesen, dass dazu die Klasse von der Klasse Applets erben muss. Geht aber nicht, weil meine schon von der Klasse "Frame" erbt.
Hab einfach keine ahunng:D vllt. kann es mir jmd. mit ein paar wenigen schritten machen oder erklären.
Danke im Voraus!
PS: Quellcode könnt ihr gerne verwenden;) (ist nicht der beste, ich weiß:p)

Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.swing.*;
import javax.swing.event.*;

public class viergewinntgraphik extends Frame implements ActionListener {
    public static char felder[][] = new char[6][7];
    public static int reihe;
    public static int spieler = 1;
    public static String spielername1 = "Spieler 1", spielername2 = "Spieler 2";
    static boolean win = false;
    static int unentschieden = 0;
    static int spieler1 = 0;
    static int spieler2 = 0;
    //***********************GRAFIKEN ERSTELLEN*************************************************
    static Button put1, put2, put3, put4, put5, put6, put7, nochmalbtn;
    static Label spielerlbl, statistiklbl, spieler1lbl, spieler2lbl, unentschiedenlbl;
    static TextField name1lbl, name2lbl;
    public viergewinntgraphik() {
        setLayout(null);
        spielerlbl = new Label("Spieler 1, sie sind an der Reihe!");
        statistiklbl = new Label("Statistiken: ");
        spieler1lbl = new Label(spielername1 + ": " + spieler1);
        spieler2lbl = new Label(spielername2 + ": " + spieler2);
        name1lbl = new TextField("Name Spieler1");
        name2lbl = new TextField("Name Spieler2");
        unentschiedenlbl = new Label("Unentschieden: " + unentschieden);
        put1 = new Button("Put");
        put2 = new Button("Put");
        put3 = new Button("Put");
        put4 = new Button("Put");
        put5 = new Button("Put");
        put6 = new Button("Put");
        put7 = new Button("Put");
        nochmalbtn = new Button("Nochmal?");
        spielerlbl.setForeground(Color.red);
        spieler1lbl.setForeground(Color.red);
        spieler2lbl.setForeground(Color.blue);
        //setze Koordinaten
        name1lbl.setBounds(350, 715, 200, 30);
        name2lbl.setBounds(350, 755, 200, 30);
        spielerlbl.setBounds(105, 725, 300, 50);
        statistiklbl.setBounds(605, 705, 200, 20);
        spieler1lbl.setBounds(605, 725, 200, 20);
        spieler2lbl.setBounds(605, 750, 200, 20);
        unentschiedenlbl.setBounds(605, 775, 200, 20);
        put1.setBounds(105, 50, 95, 40);
        put2.setBounds(205, 50, 95, 40);
        put3.setBounds(305, 50, 95, 40);
        put4.setBounds(405, 50, 95, 40);
        put5.setBounds(505, 50, 95, 40);
        put6.setBounds(605, 50, 95, 40);
        put7.setBounds(705, 50, 95, 40);
        nochmalbtn.setBounds(205, 725, 100, 50);
        //registriere Buttons
        add(name1lbl);
        add(name2lbl);
        add(spielerlbl);
        add(statistiklbl);
        add(spieler1lbl);
        add(spieler2lbl);
        add(unentschiedenlbl);
        add(put1);
        add(put2);
        add(put3);
        add(put4);
        add(put5);
        add(put6);
        add(put7);
        add(nochmalbtn);
        put1.addActionListener(this);
        put2.addActionListener(this);
        put3.addActionListener(this);
        put4.addActionListener(this);
        put5.addActionListener(this);
        put6.addActionListener(this);
        put7.addActionListener(this);
        nochmalbtn.addActionListener(this);
        put1.setActionCommand("eins");
        put2.setActionCommand("zwei");
        put3.setActionCommand("drei");
        put4.setActionCommand("vier");
        put5.setActionCommand("fünf");
        put6.setActionCommand("sechs");
        put7.setActionCommand("sieben");
        nochmalbtn.setActionCommand("nochmal");
        spielerlbl.setVisible(false);
        nochmalbtn.setLabel("Ok");
        buttonsschalten(0);
    }

    public void actionPerformed(ActionEvent e) { //BUTTONEVENTS******************

        if (e.getActionCommand().equals("nochmal")) {
            if (nochmalbtn.getLabel().equals("Ok")) {  //Namenseingabe

                spielername1 = name1lbl.getText();
                spielername2 = name2lbl.getText();
                spieler1lbl.setText(spielername1 + ": ");
                spieler2lbl.setText(spielername2 + ": ");
                name1lbl.setVisible(false);
                name2lbl.setVisible(false);
                spielerlbl.setVisible(true);
                spielerlbl.setText(spielername1 + ", Sie sind an der Reihe");
                buttonsschalten(1);
                nochmalbtn.setVisible(false);
                nochmalbtn.setLabel("Nochmal?");
                nochmalbtn.setBounds(450, 725, 100, 50);

            } else { //Neues Spiel wird vorbereitet
                buttonsschalten(1);
                spielerlbl.setForeground(Color.red);
                win = false;
                spieler = 1;
                //Spielfelderstellen;
                for (int i = 0; i < 6; i++) {
                    for (int j = 0; j < 7; j++) {
                        felder[i][j] = '|';
                    }
                }
                repaint(); //leeres Spielfeld neu zeichnen
                nochmalbtn.setVisible(false);
                spielerlbl.setText(spielername1 + ", Sie sind an der Reihe.");

            }
        } else {
            if (e.getActionCommand().equals("eins")) {
                reihe = 1;
                
            }
            if (e.getActionCommand().equals("zwei")) {
                reihe = 2;
                
            }
            if (e.getActionCommand().equals("drei")) {
                reihe = 3;
                
            }
            if (e.getActionCommand().equals("vier")) {
                reihe = 4;
                
            }
            if (e.getActionCommand().equals("fünf")) {
                reihe = 5;
                
            }
            if (e.getActionCommand().equals("sechs")) {
                reihe = 6;
                
            }
            if (e.getActionCommand().equals("sieben")) {
                reihe = 7;

            }
            boolean besetzt = false;
            boolean gesetzt = false;
            int j = reihe - 1;
            for (int i = 5; i >= 0; i--) {
                besetzt = false;
                if (felder[i][j] == '|') { //wenn Feld Leer
                    switch (spieler) {
                        case 1:
                            felder[i][j] = 'R'; //setze R
                            System.out.println(spielername1 + ", setzt roten Spielstein in Reihe " + (j + 1));
                            if (i == 0) {
                                besetzt = true;
                                
                            }
                            break;
                        case 2:
                            felder[i][j] = 'B'; //setze B
                            System.out.println(spielername2 + " setzt blauen Spielstein in Reihe " + (j + 1));
                            if (i == 0) {
                                besetzt = true;
                                
                            }
                            break;
                    }//switch
                    gesetzt = true;
                } //ende if abfrage
                if (gesetzt == true) {
                    break;
                    
                }
            } //ende for schleife

            if (besetzt == true) {
                switch (reihe) {
                    case 1:
                        put1.setEnabled(false);
                        break;
                    case 2:
                        put2.setEnabled(false);
                        break;
                    case 3:
                        put3.setEnabled(false);
                        break;
                    case 4:
                        put4.setEnabled(false);
                        break;
                    case 5:
                        put5.setEnabled(false);
                        break;
                    case 6:
                        put6.setEnabled(false);
                        break;
                    case 7:
                        put7.setEnabled(false);
                        break;
                }
            }
            ////****Abfragen nach Ergebnisende!
            if (pruefen().compareTo("voll") == 0) {
                System.out.println("Spielfeld ist voll, niemand hat gewonnen!");
                spielerlbl.setText("Ein Unentschieden!");
                win = true;
                unentschieden += 1;
            }
            if (pruefen().compareTo("spieler1") == 0) {
                System.out.println(spielername1 + " hat das Spiel gewonnen");
                spielerlbl.setText(spielername1 + " gewinnt!");
                win = true;
                spieler1 += 1;
            }
            if (pruefen().compareTo("spieler2") == 0) {
                System.out.println(spielername2 + " hat das Spiel gewonnen");
                spielerlbl.setText(spielername2 + " gewinnt!");
                win = true;
                spieler2 += 1;
            }
            if (win == true) {
                buttonsschalten(0);
                System.out.println(spielername1 + "(Rot) hat bisher " + spieler1 + " mal gewonnen");
                spieler1lbl.setText(spielername1 + ":            " + spieler1);
                System.out.println();
                System.out.println(spielername2 + "(Blau) hat bisher " + spieler2 + " mal gewonnen");
                spieler2lbl.setText(spielername2 + ":            " + spieler2);
                System.out.println();
                System.out.println("Es gab bisher " + unentschieden + " unentschieden");
                unentschiedenlbl.setText("Unentschieden: " + unentschieden);
                System.out.println();
                nochmalbtn.setVisible(true);
                
                repaint();
                
            } else { //wenn nicht zuende

                repaint();
                if (spieler == 1) {
                    spieler = 2; //spielerwechsel
                    spielerlbl.setText(spielername2 + ", Sie sind an der Reihe");
                    spielerlbl.setForeground(Color.blue);
                } else if (spieler == 2) {
                    spieler = 1;
                    spielerlbl.setText(spielername1 + ", Sie sind an der Reihe");
                    spielerlbl.setForeground(Color.red);
                }
            }
        }
    }

    public void paint(Graphics g) {
        //*************Viergewinntfeldzeichnen!***********************************
        g.setColor(Color.black);
        
        for (int i = 100; i <= 800; i += 100) {
            g.drawLine(i, 700, i, 100);
        }
        for (int i = 700; i >= 0; i -= 100) {
            g.drawLine(800, i, 100, i);
        }
        for (int i = 100; i < 800; i+=100) {
        g.drawArc(i, 100, 100, 10, 0, 360);
            }
        //***************Spielsteine setzen**************************************
        for (int i = 0; i < 6; i++) {
            for (int k = 0; k < 7; k++) { //geht alle Felder einmal durch!
                if (felder[i][k] == 'R') { //wenn RoterStein
                    g.setColor(Color.red);
                    g.fillArc((k + 1) * 100, (i + 1) * 100, 100, 100, 0, 360);
                } //ende Rot
                else if (felder[i][k] == 'B') {//wenn BlauerStein
                    g.setColor(Color.blue);
                    g.fillArc((k + 1) * 100, (i + 1) * 100, 100, 100, 0, 360);
                }//ende Blau
            }
        }
    }

    public static void buttonsschalten(int binaer) {
        switch (binaer) {
            case 0:
                put1.setEnabled(false);
                put2.setEnabled(false);
                put3.setEnabled(false);
                put4.setEnabled(false);
                put5.setEnabled(false);
                put6.setEnabled(false);
                put7.setEnabled(false);
                break;
            case 1:
                put1.setEnabled(true);
                put2.setEnabled(true);
                put3.setEnabled(true);
                put4.setEnabled(true);
                put5.setEnabled(true);
                put6.setEnabled(true);
                put7.setEnabled(true);
                break;
        }
    }

    public static void main(String[] args) throws IOException {
        viergewinntgraphik frm = new viergewinntgraphik();
        frm.setSize(900, 800);
        frm.setVisible(true);
        WindowQuitter wquit = new WindowQuitter();
        frm.addWindowListener(wquit);

        //Spielfelderstellen;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                felder[i][j] = '|';
            }
        }
        frm.setResizable(false);
    }

//**********************PRÜFEN*************************************************************
    public static String pruefen() {
        String gewinnnachricht = "weiter";
        char player = 'R';
        switch (spieler) {
            case 1:
                player = 'R';
                break;
            case 2:
                player = 'B';
                break;
        }
        int anzahl = 0;
        //*******WAAGERECHT
        //***** Spieler gewonnen 1 waagerecht? ****
        int zaehler = 0;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                if (felder[i][j] == player) { //wenn feld gleich R
                    if (zaehler != i) {
                        anzahl = 0;

                    }
                    anzahl += 1;

                    if (anzahl == 4) {
                        return gewinnnachricht = "spieler" + spieler;

                        
                    }
                } else {
                    anzahl = 0;

                }
                zaehler = i;
            }
        }
        ////////////**SENKRECHT
        //***** Spieler gewonnen 1 senkrecht? ****
        anzahl = 0;
        for (int j = 0; j < 7; j++) {
            for (int i = 0; i < 6; i++) {

                if (felder[i][j] == player) { //wenn feld gleich R
                    if (zaehler != j) {
                        anzahl = 0;

                    }
                    anzahl += 1;

                    if (anzahl == 4) {
                        return gewinnnachricht = "spieler" + spieler;

                        
                    }
                } else {
                    anzahl = 0;

                }
                zaehler = j;
            }
        }
//*********************************Spiele gewonnen Diagonal************************
//Oben Links nach Unten Rechts!!
        anzahl = 0;
        int k = 0;
        for (int i = 2; i < 6; i++) {  //REIHE 1
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 1; i < 6; i++) {  //REIHE 2
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 0; i < 6; i++) {  //REIHE 3
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 1;
        anzahl = 0;
        for (int i = 0; i < 6; i++) {  //REIHE 4
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 2;
        anzahl = 0;
        for (int i = 0; i < 5; i++) {  //REIHE 5
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 3;
        anzahl = 0;
        for (int i = 0; i < 4; i++) {  //REIHE 6
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }

        //Unten Links nach Oben Rechts!!!****************
        anzahl = 0;
        k = 0;
        for (int i = 3; i >= 0; i--) {  //REIHE 1
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 4; i >= 0; i--) {  //REIHE 2
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 5; i >= 0; i--) {  //REIHE 3
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 1;
        anzahl = 0;
        for (int i = 5; i >= 0; i--) {  //REIHE 4
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 2;
        anzahl = 0;
        for (int i = 5; i >= 1; i--) {  //REIHE 5
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 3;
        anzahl = 0;
        for (int i = 5; i >= 2; i--) {  //REIHE 6
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }

//*********Feld voll?*******
        anzahl = 0;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                if (felder[i][j] != '|') { //
                    anzahl += 1; //zählt unbesetzte felder
                    if (anzahl == 42) { //wenn alle felder besetzt sind
                        return gewinnnachricht = "voll";
                    }
                } //ende if abfrage feld leer
            } //ende j for schleife
        } // ende i for schleife

        return gewinnnachricht;
    }
}

class WindowQuitter extends WindowAdapter {

    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}
 

Michael...

Top Contributor
Grundsätzlich könnte man den ContentPane des JFrames holen und ins JApplet packen.

Allerdings bietet auch eine Neuprogrammierung die Möglichkeit alten Code zu optimieren ;-)

Wenn Du zukünftig nicht direkt von JFrame erbst, sondern von JPanel o.ä. ist es einfacher die Applikation als JFrame und/oder als JApplet anzubieten.
 

flipperweid

Mitglied
Vielen dank für deine schnelle Antwort Michael.
Neuprogrammierung möchte ich vorerst ausschließen, da ich einfach kein bock habe:p
Würde es also exakt so wie es jetzt ist, auf meine HP hauen.
Ich verstehe deinen Lösungsansatz nicht ganz.
Was meinst du mit "ContentPane des JFrames holen"? und ins "JApplet" packen?
Ich weiß, ich hab noch einiges zu lernen:p
Meinst du das JFrames von JApplet erben soll? Vllt. durch überladen? (geht nicht bei Klassen oder?)
Kannst du mir vllt. ein beispiel machen, für doofe:D
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Du erzeugst in der init() des JApplet ein Objekt Deines JFrames und holst Dir über dessen getContentPane() den Inhalt und steckst diesen per setContentPane() ins JApplet.

Java:
...
JFrame frame = new viergewinntgraphik();
this.setContentPane(frame.getContentPane());
...

Habe gerade Deine Code überflogen: Kann es sein, dass Du die paint() von JFrame überschreibst? Sehr schlecht. Das könnte bedeuten, dass Du es noch mal neu schreiben darfst.
 

flipperweid

Mitglied
Ja die habe ich überschrieben. Wollte ja das sie nach meinen Wünschen zeichnet, und dachte es wäre Klug dies also über diesem wege zu machen.
Was ist denn das Problem daran?:S
Gibt es da nicht noch eine andere Lösung?
 

Michael...

Top Contributor
Ja die habe ich überschrieben. Wollte ja das sie nach meinen Wünschen zeichnet, und dachte es wäre Klug dies also über diesem wege zu machen.
Was ist denn das Problem daran?:S
Gibt es da nicht noch eine andere Lösung?
Üblicherweise erbt man von JComponent oder JPanel und überschreibt deren paintComponent(Graphics g) und fügt diese Komponente dann in den JFrame oder ins JApplet ein.

Ob's in Deinem Fall Probleme macht, wird sich ja bei der Portierung ins JApplet zeigen.
 

L-ectron-X

Gesperrter Benutzer
Habe gerade Deine Code überflogen: Kann es sein, dass Du die paint() von JFrame überschreibst?

und

Ja die habe ich überschrieben.


Wohl kaum, denn:
flipperweid hat gesagt.:
[JAVA=8]public class viergewinntgraphik extends Frame implements ActionListener {[/code]


Generell hast du dir hier eine ungünstige Position zur Erzeugung eines Applets geschaffen.
Eine Möglichkeit wäre noch, im Applet den Frame zu instanziieren und anzuzeigen.
Das geht so lange gut, bis du anfängst mit Bildern zu arbeiten. Denn die werden im Applet und in einer Applikation jeweils unterschiedlich geladen.
 

flipperweid

Mitglied
Achso. Ja ich überschreibe die paint methode von "Frame" und nicht von "JFrame"..
wie instanziere ich denn den Frame inm Applet?
Kannst du das vllt. ähnlich wie Michael beispielhaft darstellen?
PS: Mit Bildern möchte ich zum Glück nicht arbeiten. Ich zeichne lediglich Kreise, Lininen und ähnliches, die wohl denke ich mal nicht zu Bilder zählen?
 

L-ectron-X

Gesperrter Benutzer
Java:
import java.applet.*;

public class FrameOpener extends Applet {
  public void init() {
    viergewinntgraphik.main(null);
  }
}

HTML:
<applet code="FrameOpener.class" width="0" height="0">
</applet>
Könnte funktionieren.
 

Michael...

Top Contributor
Sorry, bin von JFrame ausgegangen (heutzutage nutzt doch kaum noch jemand AWT Komponenten?)
Bei Frame ist das ein bisschen...
Statt getContentPane() könnte getComponent(0) funktionieren, die mit der Methode erhaltene Komponente ins Applet einbauen.

Für's nächste Projekt:
Mit folgender Vorgehensweise kann man das Programm als Applet und Frame nutzen.
Java:
import java.applet.Applet;
import java.awt.*;

public class FrameAppletDemo extends Applet {
	public static void main(String[] args) {
		Frame frame = new Frame();
		frame.add(new GUIPanel());
		frame.setBounds(0, 0, 100, 100);
		frame.setVisible(true);
	}
	
	public void init() {
		this.setLayout(new BorderLayout());
		this.add(new GUIPanel());
	}
}

class GUIPanel extends Panel {
	public GUIPanel() {
		this.setLayout(new BorderLayout());
		this.add(new Label("4 gewinnt"));
		this.setBackground(Color.RED);
	}
}
 

flipperweid

Mitglied
Jau werde mir eine neue vorgehensweise aneignen. bzw. habe ich teilweise schon.
Vielen vielen Dank schonmal an euch beiden.
Bin noch auf der Arbeit. Werde es aber dann Zuhause ausprobieren!
 

flipperweid

Mitglied
hm also:

Code:
public class frameopener extends Applet {

    public static void main(String[] args) {
        frameopener starter = new frameopener();
        starter.init();
    }
public void init() {
    viergewinntgraphik.main(null);
  }

funktioniert nicht. Habe die "Website" mittels deines HTML codes gemacht. doch dann habe ich nur weißen hintergrund und das wars..
 

Michael...

Top Contributor
Falls der Code funktioniert, wird die Applikation nicht im Browser angezeigt, sondern neuer Frame geöffnet.

Eine static main(...) ist im Applet jetzt nicht unbedingt notwendig, habe ich in meinem Bsp. nur aufgenommen damit es als Applikation und als Applet verwendbar ist.

Relevant für ein Applet sind init(), start(), stop(), destroy() wobei die init() erst einmal ausreichen sollte.

Wenn das Programm im Browser als Applet angezeigt werden soll, musst Du - wie erwähnt - die Komponenten des Frames ins Applet einbauen. Eventuell könnte folgendes in der init() funktionieren:
Java:
Frame frame = new viergewinntgraphik();
this.add(frame.getComponent(0));
 

L-ectron-X

Gesperrter Benutzer
funktioniert nicht.
Stimmt, weil ein Applet nicht die VM beenden darf. Weil im Frame das Beenden der VM per WindowEvent hinterlegt wurde, wirft das Applet in dieser Bauweise eine AccessControlException.
Um zu funktionieren, müsste das Applet signiert werden.

Wenn du aber die VM im Frame nicht durch
Code:
System.exit(0)
abwürgst, sondern mit einem Aufruf von
Code:
dispose()
beendest, wird es funktionieren, auch ohne signieren.

BTW: Die main()-Methode wird in einer von Applet abgeleiteten Klasse niemals aufgerufen, kann also weg.
 

flipperweid

Mitglied
okay, ich hab jetzt:
Code:
public class frameopener extends Applet {
public void init() {
    Frame frame = new viergewinntgraphik();
    this.add(frame.getComponent(0));
    viergewinntgraphik.main(null);
  }
}

funktioniert leider immer noch nicht.
wenn ich die html seite mit firefox ausführe sagt er mir das eine unsicher signierung vorliegt.. kann aber trotzdem auf "ausführen" drücken um das zu ignorieren. (das kam vorher auch schon, bei den letzten versuchen)
dann kommt aber nur wie üblich der weiße hintergrund.
habe das windowsevent rausgenommen und einen extra schließ button hinzugefügt.. (ist glaube ich unnötig..?)

hier nochmal mein komplette quellcode:

Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;


public class frameopener extends Applet {
public void init() {
    Frame frame = new viergewinntgraphik();
    this.add(frame.getComponent(0));
    viergewinntgraphik.main(null);
  }
}

class viergewinntgraphik extends Frame implements ActionListener {
    public static char felder[][] = new char[6][7];
    public static int reihe;
    public static int spieler = 1;
    public static String spielername1 = "Spieler 1", spielername2 = "Spieler 2";
    static boolean win = false;
    static int unentschieden = 0;
    static int spieler1 = 0;
    static int spieler2 = 0;
    //***********************GRAFIKEN ERSTELLEN*************************************************
    static Button put1, put2, put3, put4, put5, put6, put7, nochmalbtn, schliessbtn;
    static Label spielerlbl, statistiklbl, spieler1lbl, spieler2lbl, unentschiedenlbl;
    static TextField name1lbl, name2lbl;
    public viergewinntgraphik() {
        setLayout(null);
        spielerlbl = new Label("Spieler 1, sie sind an der Reihe!");
        statistiklbl = new Label("Statistiken: ");
        spieler1lbl = new Label(spielername1 + ": " + spieler1);
        spieler2lbl = new Label(spielername2 + ": " + spieler2);
        name1lbl = new TextField("Name Spieler1");
        name2lbl = new TextField("Name Spieler2");
        unentschiedenlbl = new Label("Unentschieden: " + unentschieden);
        put1 = new Button("Put");
        put2 = new Button("Put");
        put3 = new Button("Put");
        put4 = new Button("Put");
        put5 = new Button("Put");
        put6 = new Button("Put");
        put7 = new Button("Put");

        schliessbtn = new Button("X");

        nochmalbtn = new Button("Nochmal?");
        spielerlbl.setForeground(Color.red);
        spieler1lbl.setForeground(Color.red);
        spieler2lbl.setForeground(Color.blue);
        //setze Koordinaten
        name1lbl.setBounds(350, 715, 200, 30);
        name2lbl.setBounds(350, 755, 200, 30);
        spielerlbl.setBounds(105, 725, 300, 50);
        statistiklbl.setBounds(605, 705, 200, 20);
        spieler1lbl.setBounds(605, 725, 200, 20);
        spieler2lbl.setBounds(605, 750, 200, 20);
        unentschiedenlbl.setBounds(605, 775, 200, 20);
        put1.setBounds(105, 50, 95, 40);
        put2.setBounds(205, 50, 95, 40);
        put3.setBounds(305, 50, 95, 40);
        put4.setBounds(405, 50, 95, 40);
        put5.setBounds(505, 50, 95, 40);
        put6.setBounds(605, 50, 95, 40);
        put7.setBounds(705, 50, 95, 40);
        nochmalbtn.setBounds(205, 725, 100, 50);
       schliessbtn.setBounds(850,50,30,30);
        //registriere Buttons
        add(name1lbl);
        add(name2lbl);
        add(spielerlbl);
        add(statistiklbl);
        add(spieler1lbl);
        add(spieler2lbl);
        add(unentschiedenlbl);
        add(put1);
        add(put2);
        add(put3);
        add(put4);
        add(put5);
        add(put6);
        add(put7);
        add(nochmalbtn);
        add(schliessbtn);
        put1.addActionListener(this);
        put2.addActionListener(this);
        put3.addActionListener(this);
        put4.addActionListener(this);
        put5.addActionListener(this);
        put6.addActionListener(this);
        put7.addActionListener(this);
        nochmalbtn.addActionListener(this);
        schliessbtn.addActionListener(this);
        put1.setActionCommand("eins");
        put2.setActionCommand("zwei");
        put3.setActionCommand("drei");
        put4.setActionCommand("vier");
        put5.setActionCommand("fünf");
        put6.setActionCommand("sechs");
        put7.setActionCommand("sieben");
        nochmalbtn.setActionCommand("nochmal");
        schliessbtn.setActionCommand("schließen");
        spielerlbl.setVisible(false);
        nochmalbtn.setLabel("Ok");
        buttonsschalten(0);
    }

    public void actionPerformed(ActionEvent e) { //BUTTONEVENTS******************
            if (e.getActionCommand().equals("schließen")){ //SCHLIEß EVENT:
                dispose();
            }
        if (e.getActionCommand().equals("nochmal")) {
            if (nochmalbtn.getLabel().equals("Ok")) {  //Namenseingabe

                spielername1 = name1lbl.getText();
                spielername2 = name2lbl.getText();
                spieler1lbl.setText(spielername1 + ": ");
                spieler2lbl.setText(spielername2 + ": ");
                name1lbl.setVisible(false);
                name2lbl.setVisible(false);
                spielerlbl.setVisible(true);
                spielerlbl.setText(spielername1 + ", Sie sind an der Reihe");
                buttonsschalten(1);
                nochmalbtn.setVisible(false);
                nochmalbtn.setLabel("Nochmal?");
                nochmalbtn.setBounds(450, 725, 100, 50);

            } else { //Neues Spiel wird vorbereitet
                buttonsschalten(1);
                spielerlbl.setForeground(Color.red);
                win = false;
                spieler = 1;
                //Spielfelderstellen;
                for (int i = 0; i < 6; i++) {
                    for (int j = 0; j < 7; j++) {
                        felder[i][j] = '|';
                    }
                }
                repaint(); //leeres Spielfeld neu zeichnen
                nochmalbtn.setVisible(false);
                spielerlbl.setText(spielername1 + ", Sie sind an der Reihe.");

            }
        } else {
            if (e.getActionCommand().equals("eins")) {
                reihe = 1;

            }
            if (e.getActionCommand().equals("zwei")) {
                reihe = 2;

            }
            if (e.getActionCommand().equals("drei")) {
                reihe = 3;

            }
            if (e.getActionCommand().equals("vier")) {
                reihe = 4;

            }
            if (e.getActionCommand().equals("fünf")) {
                reihe = 5;

            }
            if (e.getActionCommand().equals("sechs")) {
                reihe = 6;

            }
            if (e.getActionCommand().equals("sieben")) {
                reihe = 7;

            }
            boolean besetzt = false;
            boolean gesetzt = false;
            int j = reihe - 1;
            for (int i = 5; i >= 0; i--) {
                besetzt = false;
                if (felder[i][j] == '|') { //wenn Feld Leer
                    switch (spieler) {
                        case 1:
                            felder[i][j] = 'R'; //setze R
                            System.out.println(spielername1 + ", setzt roten Spielstein in Reihe " + (j + 1));
                            if (i == 0) {
                                besetzt = true;

                            }
                            break;
                        case 2:
                            felder[i][j] = 'B'; //setze B
                            System.out.println(spielername2 + " setzt blauen Spielstein in Reihe " + (j + 1));
                            if (i == 0) {
                                besetzt = true;

                            }
                            break;
                    }//switch
                    gesetzt = true;
                } //ende if abfrage
                if (gesetzt == true) {
                    break;

                }
            } //ende for schleife

            if (besetzt == true) {
                switch (reihe) {
                    case 1:
                        put1.setEnabled(false);
                        break;
                    case 2:
                        put2.setEnabled(false);
                        break;
                    case 3:
                        put3.setEnabled(false);
                        break;
                    case 4:
                        put4.setEnabled(false);
                        break;
                    case 5:
                        put5.setEnabled(false);
                        break;
                    case 6:
                        put6.setEnabled(false);
                        break;
                    case 7:
                        put7.setEnabled(false);
                        break;
                }
            }
            ////****Abfragen nach Ergebnisende!
            if (pruefen().compareTo("voll") == 0) {
                System.out.println("Spielfeld ist voll, niemand hat gewonnen!");
                spielerlbl.setText("Ein Unentschieden!");
                win = true;
                unentschieden += 1;
            }
            if (pruefen().compareTo("spieler1") == 0) {
                System.out.println(spielername1 + " hat das Spiel gewonnen");
                spielerlbl.setText(spielername1 + " gewinnt!");
                win = true;
                spieler1 += 1;
            }
            if (pruefen().compareTo("spieler2") == 0) {
                System.out.println(spielername2 + " hat das Spiel gewonnen");
                spielerlbl.setText(spielername2 + " gewinnt!");
                win = true;
                spieler2 += 1;
            }
            if (win == true) {
                buttonsschalten(0);
                System.out.println(spielername1 + "(Rot) hat bisher " + spieler1 + " mal gewonnen");
                spieler1lbl.setText(spielername1 + ":            " + spieler1);
                System.out.println();
                System.out.println(spielername2 + "(Blau) hat bisher " + spieler2 + " mal gewonnen");
                spieler2lbl.setText(spielername2 + ":            " + spieler2);
                System.out.println();
                System.out.println("Es gab bisher " + unentschieden + " unentschieden");
                unentschiedenlbl.setText("Unentschieden: " + unentschieden);
                System.out.println();
                nochmalbtn.setVisible(true);

                repaint();

            } else { //wenn nicht zuende

                repaint();
                if (spieler == 1) {
                    spieler = 2; //spielerwechsel
                    spielerlbl.setText(spielername2 + ", Sie sind an der Reihe");
                    spielerlbl.setForeground(Color.blue);
                } else if (spieler == 2) {
                    spieler = 1;
                    spielerlbl.setText(spielername1 + ", Sie sind an der Reihe");
                    spielerlbl.setForeground(Color.red);
                }
            }
        }
    }

    public void paint(Graphics g) {
        //*************Viergewinntfeldzeichnen!***********************************
        g.setColor(Color.black);

        for (int i = 100; i <= 800; i += 100) {
            g.drawLine(i, 700, i, 100);
        }
        for (int i = 700; i >= 0; i -= 100) {
            g.drawLine(800, i, 100, i);
        }
        for (int i = 100; i < 800; i+=100) {
        g.drawArc(i, 100, 100, 10, 0, 360);
            }
        //***************Spielsteine setzen**************************************
        for (int i = 0; i < 6; i++) {
            for (int k = 0; k < 7; k++) { //geht alle Felder einmal durch!
                if (felder[i][k] == 'R') { //wenn RoterStein
                    g.setColor(Color.red);
                    g.fillArc((k + 1) * 100, (i + 1) * 100, 100, 100, 0, 360);
                } //ende Rot
                else if (felder[i][k] == 'B') {//wenn BlauerStein
                    g.setColor(Color.blue);
                    g.fillArc((k + 1) * 100, (i + 1) * 100, 100, 100, 0, 360);
                }//ende Blau
            }
        }
    }

    public static void buttonsschalten(int binaer) {
        switch (binaer) {
            case 0:
                put1.setEnabled(false);
                put2.setEnabled(false);
                put3.setEnabled(false);
                put4.setEnabled(false);
                put5.setEnabled(false);
                put6.setEnabled(false);
                put7.setEnabled(false);
                break;
            case 1:
                put1.setEnabled(true);
                put2.setEnabled(true);
                put3.setEnabled(true);
                put4.setEnabled(true);
                put5.setEnabled(true);
                put6.setEnabled(true);
                put7.setEnabled(true);
                break;
        }
    }

    public static void main(String[] args){
        viergewinntgraphik frm = new viergewinntgraphik();
        frm.setSize(900, 800);
        frm.setVisible(true);

        //Spielfelderstellen;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                felder[i][j] = '|';
            }
        }
        frm.setResizable(false);
    }

//**********************PRÜFEN*************************************************************
    public static String pruefen() {
        String gewinnnachricht = "weiter";
        char player = 'R';
        switch (spieler) {
            case 1:
                player = 'R';
                break;
            case 2:
                player = 'B';
                break;
        }
        int anzahl = 0;
        //*******WAAGERECHT
        //***** Spieler gewonnen 1 waagerecht? ****
        int zaehler = 0;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                if (felder[i][j] == player) { //wenn feld gleich R
                    if (zaehler != i) {
                        anzahl = 0;

                    }
                    anzahl += 1;

                    if (anzahl == 4) {
                        return gewinnnachricht = "spieler" + spieler;


                    }
                } else {
                    anzahl = 0;

                }
                zaehler = i;
            }
        }
        ////////////**SENKRECHT
        //***** Spieler gewonnen 1 senkrecht? ****
        anzahl = 0;
        for (int j = 0; j < 7; j++) {
            for (int i = 0; i < 6; i++) {

                if (felder[i][j] == player) { //wenn feld gleich R
                    if (zaehler != j) {
                        anzahl = 0;

                    }
                    anzahl += 1;

                    if (anzahl == 4) {
                        return gewinnnachricht = "spieler" + spieler;


                    }
                } else {
                    anzahl = 0;

                }
                zaehler = j;
            }
        }
//*********************************Spiele gewonnen Diagonal************************
//Oben Links nach Unten Rechts!!
        anzahl = 0;
        int k = 0;
        for (int i = 2; i < 6; i++) {  //REIHE 1
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 1; i < 6; i++) {  //REIHE 2
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 0; i < 6; i++) {  //REIHE 3
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 1;
        anzahl = 0;
        for (int i = 0; i < 6; i++) {  //REIHE 4
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 2;
        anzahl = 0;
        for (int i = 0; i < 5; i++) {  //REIHE 5
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 3;
        anzahl = 0;
        for (int i = 0; i < 4; i++) {  //REIHE 6
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }

        //Unten Links nach Oben Rechts!!!****************
        anzahl = 0;
        k = 0;
        for (int i = 3; i >= 0; i--) {  //REIHE 1
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 4; i >= 0; i--) {  //REIHE 2
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 5; i >= 0; i--) {  //REIHE 3
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 1;
        anzahl = 0;
        for (int i = 5; i >= 0; i--) {  //REIHE 4
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 2;
        anzahl = 0;
        for (int i = 5; i >= 1; i--) {  //REIHE 5
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 3;
        anzahl = 0;
        for (int i = 5; i >= 2; i--) {  //REIHE 6
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }

//*********Feld voll?*******
        anzahl = 0;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                if (felder[i][j] != '|') { //
                    anzahl += 1; //zählt unbesetzte felder
                    if (anzahl == 42) { //wenn alle felder besetzt sind
                        return gewinnnachricht = "voll";
                    }
                } //ende if abfrage feld leer
            } //ende j for schleife
        } // ende i for schleife

        return gewinnnachricht;
    }
}
 

Michael...

Top Contributor
okay, ich hab jetzt:
Code:
public class frameopener extends Applet {
public void init() {
    Frame frame = new viergewinntgraphik();
    this.add(frame.getComponent(0));
    viergewinntgraphik.main(null);
  }
}
[/CODE]
Wenn dann:
Java:
public class frameopener extends Applet {
    public void init() {
        Frame frame = new viergewinntgraphik();
        this.add(frame.getComponent(0));
    }
}
Funktioniert aber nicht, es wird höchstens die zuerst im Frame eingefügte Komponente angezeigt. Dachte Frame hätte auch sowas wie eine ContentPane.

Lass doch mal Deine viergewinntgraphik von Panel erben (Convention für Klassennamen: VierGewinntGraphik)
Java:
class viergewinntgraphik extends Panel
Und füge es wie folgt ins Applet ein
Java:
public class frameopener extends Applet {
    public void init() {
        this.setLayout(new BorderLayout());
        this.add(new viergewinntgraphik());
    }
}
Der Code der Dir dann in der Viergewinnt Klasse als falsch angezeigt wird kann vermutlich grösstenteils geloscht werden.
 

flipperweid

Mitglied
code zeile 347 (frm.setResizable(false);)
und code zeile 115 (dispose()) habe ich einfach rausgenommen.
war ja nicht wirklich wichtig..

funktioniert aber leider immer noch nicht:(
habs alles so gemacht wie du sagtest..

Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;


public class frameopener extends Applet {
public void init() {
   /* Frame frame = new viergewinntgraphik();
    this.add(frame.getComponent(0));
    viergewinntgraphik.main(null);*/

            this.setLayout(new BorderLayout());
        this.add(new viergewinntgraphik());
  }
}


//class viergewinntgraphik extends Frame implements ActionListener {
class viergewinntgraphik extends Panel implements ActionListener {

    public static char felder[][] = new char[6][7];
    public static int reihe;
    public static int spieler = 1;
    public static String spielername1 = "Spieler 1", spielername2 = "Spieler 2";
    static boolean win = false;
    static int unentschieden = 0;
    static int spieler1 = 0;
    static int spieler2 = 0;
    //***********************GRAFIKEN ERSTELLEN*************************************************
    static Button put1, put2, put3, put4, put5, put6, put7, nochmalbtn, schliessbtn;
    static Label spielerlbl, statistiklbl, spieler1lbl, spieler2lbl, unentschiedenlbl;
    static TextField name1lbl, name2lbl;
    public viergewinntgraphik() {
        setLayout(null);
        spielerlbl = new Label("Spieler 1, sie sind an der Reihe!");
        statistiklbl = new Label("Statistiken: ");
        spieler1lbl = new Label(spielername1 + ": " + spieler1);
        spieler2lbl = new Label(spielername2 + ": " + spieler2);
        name1lbl = new TextField("Name Spieler1");
        name2lbl = new TextField("Name Spieler2");
        unentschiedenlbl = new Label("Unentschieden: " + unentschieden);
        put1 = new Button("Put");
        put2 = new Button("Put");
        put3 = new Button("Put");
        put4 = new Button("Put");
        put5 = new Button("Put");
        put6 = new Button("Put");
        put7 = new Button("Put");

        schliessbtn = new Button("X");

        nochmalbtn = new Button("Nochmal?");
        spielerlbl.setForeground(Color.red);
        spieler1lbl.setForeground(Color.red);
        spieler2lbl.setForeground(Color.blue);
        //setze Koordinaten
        name1lbl.setBounds(350, 715, 200, 30);
        name2lbl.setBounds(350, 755, 200, 30);
        spielerlbl.setBounds(105, 725, 300, 50);
        statistiklbl.setBounds(605, 705, 200, 20);
        spieler1lbl.setBounds(605, 725, 200, 20);
        spieler2lbl.setBounds(605, 750, 200, 20);
        unentschiedenlbl.setBounds(605, 775, 200, 20);
        put1.setBounds(105, 50, 95, 40);
        put2.setBounds(205, 50, 95, 40);
        put3.setBounds(305, 50, 95, 40);
        put4.setBounds(405, 50, 95, 40);
        put5.setBounds(505, 50, 95, 40);
        put6.setBounds(605, 50, 95, 40);
        put7.setBounds(705, 50, 95, 40);
        nochmalbtn.setBounds(205, 725, 100, 50);
       schliessbtn.setBounds(850,50,30,30);
        //registriere Buttons
        add(name1lbl);
        add(name2lbl);
        add(spielerlbl);
        add(statistiklbl);
        add(spieler1lbl);
        add(spieler2lbl);
        add(unentschiedenlbl);
        add(put1);
        add(put2);
        add(put3);
        add(put4);
        add(put5);
        add(put6);
        add(put7);
        add(nochmalbtn);
        add(schliessbtn);
        put1.addActionListener(this);
        put2.addActionListener(this);
        put3.addActionListener(this);
        put4.addActionListener(this);
        put5.addActionListener(this);
        put6.addActionListener(this);
        put7.addActionListener(this);
        nochmalbtn.addActionListener(this);
        schliessbtn.addActionListener(this);
        put1.setActionCommand("eins");
        put2.setActionCommand("zwei");
        put3.setActionCommand("drei");
        put4.setActionCommand("vier");
        put5.setActionCommand("fünf");
        put6.setActionCommand("sechs");
        put7.setActionCommand("sieben");
        nochmalbtn.setActionCommand("nochmal");
        schliessbtn.setActionCommand("schließen");
        spielerlbl.setVisible(false);
        nochmalbtn.setLabel("Ok");
        buttonsschalten(0);
    }

    public void actionPerformed(ActionEvent e) { //BUTTONEVENTS******************
            if (e.getActionCommand().equals("schließen")){ //SCHLIEß EVENT:
             //   dispose();
            }
        if (e.getActionCommand().equals("nochmal")) {
            if (nochmalbtn.getLabel().equals("Ok")) {  //Namenseingabe

                spielername1 = name1lbl.getText();
                spielername2 = name2lbl.getText();
                spieler1lbl.setText(spielername1 + ": ");
                spieler2lbl.setText(spielername2 + ": ");
                name1lbl.setVisible(false);
                name2lbl.setVisible(false);
                spielerlbl.setVisible(true);
                spielerlbl.setText(spielername1 + ", Sie sind an der Reihe");
                buttonsschalten(1);
                nochmalbtn.setVisible(false);
                nochmalbtn.setLabel("Nochmal?");
                nochmalbtn.setBounds(450, 725, 100, 50);

            } else { //Neues Spiel wird vorbereitet
                buttonsschalten(1);
                spielerlbl.setForeground(Color.red);
                win = false;
                spieler = 1;
                //Spielfelderstellen;
                for (int i = 0; i < 6; i++) {
                    for (int j = 0; j < 7; j++) {
                        felder[i][j] = '|';
                    }
                }
                repaint(); //leeres Spielfeld neu zeichnen
                nochmalbtn.setVisible(false);
                spielerlbl.setText(spielername1 + ", Sie sind an der Reihe.");

            }
        } else {
            if (e.getActionCommand().equals("eins")) {
                reihe = 1;

            }
            if (e.getActionCommand().equals("zwei")) {
                reihe = 2;

            }
            if (e.getActionCommand().equals("drei")) {
                reihe = 3;

            }
            if (e.getActionCommand().equals("vier")) {
                reihe = 4;

            }
            if (e.getActionCommand().equals("fünf")) {
                reihe = 5;

            }
            if (e.getActionCommand().equals("sechs")) {
                reihe = 6;

            }
            if (e.getActionCommand().equals("sieben")) {
                reihe = 7;

            }
            boolean besetzt = false;
            boolean gesetzt = false;
            int j = reihe - 1;
            for (int i = 5; i >= 0; i--) {
                besetzt = false;
                if (felder[i][j] == '|') { //wenn Feld Leer
                    switch (spieler) {
                        case 1:
                            felder[i][j] = 'R'; //setze R
                            System.out.println(spielername1 + ", setzt roten Spielstein in Reihe " + (j + 1));
                            if (i == 0) {
                                besetzt = true;

                            }
                            break;
                        case 2:
                            felder[i][j] = 'B'; //setze B
                            System.out.println(spielername2 + " setzt blauen Spielstein in Reihe " + (j + 1));
                            if (i == 0) {
                                besetzt = true;

                            }
                            break;
                    }//switch
                    gesetzt = true;
                } //ende if abfrage
                if (gesetzt == true) {
                    break;

                }
            } //ende for schleife

            if (besetzt == true) {
                switch (reihe) {
                    case 1:
                        put1.setEnabled(false);
                        break;
                    case 2:
                        put2.setEnabled(false);
                        break;
                    case 3:
                        put3.setEnabled(false);
                        break;
                    case 4:
                        put4.setEnabled(false);
                        break;
                    case 5:
                        put5.setEnabled(false);
                        break;
                    case 6:
                        put6.setEnabled(false);
                        break;
                    case 7:
                        put7.setEnabled(false);
                        break;
                }
            }
            ////****Abfragen nach Ergebnisende!
            if (pruefen().compareTo("voll") == 0) {
                System.out.println("Spielfeld ist voll, niemand hat gewonnen!");
                spielerlbl.setText("Ein Unentschieden!");
                win = true;
                unentschieden += 1;
            }
            if (pruefen().compareTo("spieler1") == 0) {
                System.out.println(spielername1 + " hat das Spiel gewonnen");
                spielerlbl.setText(spielername1 + " gewinnt!");
                win = true;
                spieler1 += 1;
            }
            if (pruefen().compareTo("spieler2") == 0) {
                System.out.println(spielername2 + " hat das Spiel gewonnen");
                spielerlbl.setText(spielername2 + " gewinnt!");
                win = true;
                spieler2 += 1;
            }
            if (win == true) {
                buttonsschalten(0);
                System.out.println(spielername1 + "(Rot) hat bisher " + spieler1 + " mal gewonnen");
                spieler1lbl.setText(spielername1 + ":            " + spieler1);
                System.out.println();
                System.out.println(spielername2 + "(Blau) hat bisher " + spieler2 + " mal gewonnen");
                spieler2lbl.setText(spielername2 + ":            " + spieler2);
                System.out.println();
                System.out.println("Es gab bisher " + unentschieden + " unentschieden");
                unentschiedenlbl.setText("Unentschieden: " + unentschieden);
                System.out.println();
                nochmalbtn.setVisible(true);

                repaint();

            } else { //wenn nicht zuende

                repaint();
                if (spieler == 1) {
                    spieler = 2; //spielerwechsel
                    spielerlbl.setText(spielername2 + ", Sie sind an der Reihe");
                    spielerlbl.setForeground(Color.blue);
                } else if (spieler == 2) {
                    spieler = 1;
                    spielerlbl.setText(spielername1 + ", Sie sind an der Reihe");
                    spielerlbl.setForeground(Color.red);
                }
            }
        }
    }

    public void paint(Graphics g) {
        //*************Viergewinntfeldzeichnen!***********************************
        g.setColor(Color.black);

        for (int i = 100; i <= 800; i += 100) {
            g.drawLine(i, 700, i, 100);
        }
        for (int i = 700; i >= 0; i -= 100) {
            g.drawLine(800, i, 100, i);
        }
        for (int i = 100; i < 800; i+=100) {
        g.drawArc(i, 100, 100, 10, 0, 360);
            }
        //***************Spielsteine setzen**************************************
        for (int i = 0; i < 6; i++) {
            for (int k = 0; k < 7; k++) { //geht alle Felder einmal durch!
                if (felder[i][k] == 'R') { //wenn RoterStein
                    g.setColor(Color.red);
                    g.fillArc((k + 1) * 100, (i + 1) * 100, 100, 100, 0, 360);
                } //ende Rot
                else if (felder[i][k] == 'B') {//wenn BlauerStein
                    g.setColor(Color.blue);
                    g.fillArc((k + 1) * 100, (i + 1) * 100, 100, 100, 0, 360);
                }//ende Blau
            }
        }
    }

    public static void buttonsschalten(int binaer) {
        switch (binaer) {
            case 0:
                put1.setEnabled(false);
                put2.setEnabled(false);
                put3.setEnabled(false);
                put4.setEnabled(false);
                put5.setEnabled(false);
                put6.setEnabled(false);
                put7.setEnabled(false);
                break;
            case 1:
                put1.setEnabled(true);
                put2.setEnabled(true);
                put3.setEnabled(true);
                put4.setEnabled(true);
                put5.setEnabled(true);
                put6.setEnabled(true);
                put7.setEnabled(true);
                break;
        }
    }

    public static void main(String[] args){
        viergewinntgraphik frm = new viergewinntgraphik();
        frm.setSize(900, 800);
        frm.setVisible(true);

        //Spielfelderstellen;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                felder[i][j] = '|';
            }
        }
     //   frm.setResizable(false);
    }

//**********************PRÜFEN*************************************************************
    public static String pruefen() {
        String gewinnnachricht = "weiter";
        char player = 'R';
        switch (spieler) {
            case 1:
                player = 'R';
                break;
            case 2:
                player = 'B';
                break;
        }
        int anzahl = 0;
        //*******WAAGERECHT
        //***** Spieler gewonnen 1 waagerecht? ****
        int zaehler = 0;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                if (felder[i][j] == player) { //wenn feld gleich R
                    if (zaehler != i) {
                        anzahl = 0;

                    }
                    anzahl += 1;

                    if (anzahl == 4) {
                        return gewinnnachricht = "spieler" + spieler;


                    }
                } else {
                    anzahl = 0;

                }
                zaehler = i;
            }
        }
        ////////////**SENKRECHT
        //***** Spieler gewonnen 1 senkrecht? ****
        anzahl = 0;
        for (int j = 0; j < 7; j++) {
            for (int i = 0; i < 6; i++) {

                if (felder[i][j] == player) { //wenn feld gleich R
                    if (zaehler != j) {
                        anzahl = 0;

                    }
                    anzahl += 1;

                    if (anzahl == 4) {
                        return gewinnnachricht = "spieler" + spieler;


                    }
                } else {
                    anzahl = 0;

                }
                zaehler = j;
            }
        }
//*********************************Spiele gewonnen Diagonal************************
//Oben Links nach Unten Rechts!!
        anzahl = 0;
        int k = 0;
        for (int i = 2; i < 6; i++) {  //REIHE 1
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 1; i < 6; i++) {  //REIHE 2
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 0; i < 6; i++) {  //REIHE 3
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 1;
        anzahl = 0;
        for (int i = 0; i < 6; i++) {  //REIHE 4
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 2;
        anzahl = 0;
        for (int i = 0; i < 5; i++) {  //REIHE 5
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 3;
        anzahl = 0;
        for (int i = 0; i < 4; i++) {  //REIHE 6
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }

        //Unten Links nach Oben Rechts!!!****************
        anzahl = 0;
        k = 0;
        for (int i = 3; i >= 0; i--) {  //REIHE 1
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 4; i >= 0; i--) {  //REIHE 2
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 0;
        anzahl = 0;
        for (int i = 5; i >= 0; i--) {  //REIHE 3
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 1;
        anzahl = 0;
        for (int i = 5; i >= 0; i--) {  //REIHE 4
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 2;
        anzahl = 0;
        for (int i = 5; i >= 1; i--) {  //REIHE 5
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }
        k = 3;
        anzahl = 0;
        for (int i = 5; i >= 2; i--) {  //REIHE 6
            if (felder[i][k] == player) {
                anzahl += 1;
                if (anzahl == 4) {
                    return gewinnnachricht = "spieler" + spieler;

                }
            } else {
                anzahl = 0;

            }
            k++;
        }

//*********Feld voll?*******
        anzahl = 0;
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 7; j++) {
                if (felder[i][j] != '|') { //
                    anzahl += 1; //zählt unbesetzte felder
                    if (anzahl == 42) { //wenn alle felder besetzt sind
                        return gewinnnachricht = "voll";
                    }
                } //ende if abfrage feld leer
            } //ende j for schleife
        } // ende i for schleife

        return gewinnnachricht;
    }
}
 

Michael...

Top Contributor
Kannst Du das Applet in Deiner Entwicklungsumgebung starten?
Werden irgendwelche Fehler ausgegeben. Wird im Browser an der Stelle des Applets ein X angezeigt?
 

flipperweid

Mitglied
Ich arbeite mit der Entwicklungsebene Netbeans 6.9.
Der Code lässt sich nicht mehr ausführen, da der Compiler:
java.lang.NoSuchMethodError: main
Exception in thread "main" Java Result: 1
sagt.
Kein wunder, habe die main-methode ja rausgenommen.

und im Browser ist kein X zu sehen.. nur weißer hintergrund.
und vorher kommt eine fehlermeldung (siehe anhang)..

hier auch mal mein html text:

Code:
<html>
<head>
<title>4 Gewinnt</title>
</head>
<body>
<applet code="FrameOpener.class" width="0" height="0">
</applet>
</body>
</html>
 

Anhänge

  • 4gewinnt.JPG
    4gewinnt.JPG
    58,4 KB · Aufrufe: 26

flipperweid

Mitglied
ich glaube ich habs versucht als applet auszuführen.
klappt nicht, compiler sagt:
init:
Deleting: C:\Projects\_Ausbildung\Java\FrameOpener\build\built-jar.properties
deps-jar:
Updating property file: C:\Projects\_Ausbildung\Java\FrameOpener\build\built-jar.properties
init:
deps-clean:
Updating property file: C:\Projects\_Ausbildung\Java\FrameOpener\build\built-clean.properties
Deleting directory C:\Projects\_Ausbildung\Java\FrameOpener\build
clean:
Created dir: C:\Projects\_Ausbildung\Java\FrameOpener\build\classes
Created dir: C:\Projects\_Ausbildung\Java\FrameOpener\build\empty
Compiling 1 source file to C:\Projects\_Ausbildung\Java\FrameOpener\build\classes
compile:
Created dir: C:\Projects\_Ausbildung\Java\FrameOpener\dist
Copying 1 file to C:\Projects\_Ausbildung\Java\FrameOpener\build
Not copying the libraries.
Building jar: C:\Projects\_Ausbildung\Java\FrameOpener\dist\FrameOpener.jar
jnlp:
Deleting: C:\Projects\_Ausbildung\Java\FrameOpener\helper.txt
Going to create default keystore in C:\Projects\_Ausbildung\Java\FrameOpener/build/nb-jws.ks
Generating Key for nb-jws
sign-jars:
generate-jnlp:
Copying 1 file to C:\Projects\_Ausbildung\Java\FrameOpener\dist
Deleting: C:\Projects\_Ausbildung\Java\FrameOpener\dist\launch.jnlp_
generate-html-preview:
jar:
C:\Projects\_Ausbildung\Java\FrameOpener\nbproject\jnlp-impl.xml:390: Project cannot be run with non-local codebase. Open project properties dialog and set Web Start Codebase to Local Execution.
BUILD FAILED (total time: 9 seconds)
 

L-ectron-X

Gesperrter Benutzer
So, guck mal. War gar nicht so schwer, wenn man weiß, was zu tun ist...
Im Anhang findest du deine fertig kompilierte und verpackte Jar-Datei.
Ein Doppelklick auf diese wird deine Applikation starten, und wenn du sie in eine HTML-Datei einbettest, wird dein Frame vom Applet gestartet.

Der Quellcode ist im Jar-File, welches du mit einem Packprogramm ansehen/entpacken kannst.

Folgende HTML-Datei wird das Applet starten:
HTML:
<html>
<head>
<title>4 Gewinnt - Applet</title>
</head>
<body>
<applet archive="viergewinntgraphik.jar" code="FrameOpener.class" width="0" height="0"> 
</applet>
</body>
</html>

Beide Dateien legst du ins gleiche Verzeichnis.
 

Anhänge

  • viergewinntgraphik.jar
    9,9 KB · Aufrufe: 7

flipperweid

Mitglied
cool das klappt! wusste nicht das ich das mit der jar datei machen kann..
ist das gängig?
vielen dank an euch beide! habt mir sehr geholfen.
finde das Forum gut und denke ich werde öfter hier sein
 

L-ectron-X

Gesperrter Benutzer
Es ist üblich, Java-Programme oder Java-Bibliotheken in Jar-Dateien auszuliefern.
NetBeans erzeugt Jar-Dateien mit Klick auf das
l-ectron-x-albums-bilder-beitraegen-picture136t-netbeans-clean-build.gif
-Symbol. Die fertigen Jar-Dateien sind dann in deinem Projektverzeichnis im Unterverzeichnis dist zu finden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Konstruktor für "Vier Gewinnt" AWT, Swing, JavaFX & SWT 10
M 4-Gewinnt mit Buttons AWT, Swing, JavaFX & SWT 1
Z Canvas in Frame einfügen. Problem mit 4-Gewinnt AWT, Swing, JavaFX & SWT 1
L Swing Vier Gewinnt Problem AWT, Swing, JavaFX & SWT 2
A Vier gewinnt: GUI aktualisiert sich nicht AWT, Swing, JavaFX & SWT 12
P Zeichnen von Ovalen in Swing (4 Gewinnt) AWT, Swing, JavaFX & SWT 3
Private Void Swing "Vier Gewinnt"-Oberfläche AWT, Swing, JavaFX & SWT 7
G Grafikformat für AWT-Applet? AWT, Swing, JavaFX & SWT 0
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
S Sandboxed Applet weiterhin moeglich..? AWT, Swing, JavaFX & SWT 5
S Oracle's neue Sicherheitseinstellungen zerstoeren mein Applet. Was tun? AWT, Swing, JavaFX & SWT 3
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
U CardLayout im Applet AWT, Swing, JavaFX & SWT 4
J Applet Applet Vererbung/Überladen AWT, Swing, JavaFX & SWT 5
G JavaFX mit ANT deployen als Applet AWT, Swing, JavaFX & SWT 3
S Applet Application 2 applet AWT, Swing, JavaFX & SWT 3
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
T Signiertes Applet Urheber angeben AWT, Swing, JavaFX & SWT 5
S Applet Repaint AWT, Swing, JavaFX & SWT 3
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Applet mit Bildern AWT, Swing, JavaFX & SWT 2
T Applet in JSP einbinden AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Applet Applet vom Web-Server aus aufrufen AWT, Swing, JavaFX & SWT 11
A Applet Applet startet nicht AWT, Swing, JavaFX & SWT 2
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
B Applet Aus Applet signiertes jar mit externen libs erstellen AWT, Swing, JavaFX & SWT 9
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
M Warum funktioniert mein Applet nicht? AWT, Swing, JavaFX & SWT 6
D Applet hintergrund wird nicht weiß AWT, Swing, JavaFX & SWT 2
R Applet JavaScript Methodenaufruf AWT, Swing, JavaFX & SWT 2
A Applet Animiertes gif in awt applet anzeigen AWT, Swing, JavaFX & SWT 11
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
A Applet Applet aus Code neu starten AWT, Swing, JavaFX & SWT 2
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
S Applet funktioniert nach Browserreload nicht richtig AWT, Swing, JavaFX & SWT 2
T Applet Applet vs. WebStart AWT, Swing, JavaFX & SWT 4
S Applet starten AWT, Swing, JavaFX & SWT 4
K JTable im Browser nicht zu sehen - Applet AWT, Swing, JavaFX & SWT 6
B Applet Button oder Toolbar in einem Applet AWT, Swing, JavaFX & SWT 5
V Applet mit Bildbearbeitung AWT, Swing, JavaFX & SWT 3
V Applet Applet starten schlägt fehl AWT, Swing, JavaFX & SWT 2
W Button in Applet AWT, Swing, JavaFX & SWT 9
kniffel GUI-Applet JTable füllt Hintergrund völlig aus AWT, Swing, JavaFX & SWT 4
J Applet Java-Applet friert mit Firefox ein AWT, Swing, JavaFX & SWT 8
J Applet Tetris flackert AWT, Swing, JavaFX & SWT 9
F Applet Applet starten...(+Timer?) AWT, Swing, JavaFX & SWT 12
S [JAVA] JFrame in Applet/JApplet AWT, Swing, JavaFX & SWT 14
D Applet Applet das auf fremden Libraries basiert einbinden? AWT, Swing, JavaFX & SWT 20
M Applet wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
E Applet Neuen Tab aus Applet öffnen AWT, Swing, JavaFX & SWT 3
G Applet, Link ermitteln, dem der Benutzer gefolgt ist AWT, Swing, JavaFX & SWT 2
K Email versenden ueber Applet AWT, Swing, JavaFX & SWT 11
S Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 6
S Button aktivieren (Applet) AWT, Swing, JavaFX & SWT 2
3 Applet Applet zeigt nur weiße Fläche AWT, Swing, JavaFX & SWT 15
B 2 Probleme (JFrame & Applet) AWT, Swing, JavaFX & SWT 7
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
H applet Methode aus abstrakter Klasse aufrufen AWT, Swing, JavaFX & SWT 12
H Applet - Hilfedateien im Browser öffnen / eine Webseite laden AWT, Swing, JavaFX & SWT 6
O JPanel aus Applet starten AWT, Swing, JavaFX & SWT 3
O Applet-Steuerung mit Tastaturbefehlen AWT, Swing, JavaFX & SWT 3
F Applet vs Stand-Alone-Client AWT, Swing, JavaFX & SWT 3
B AWT Bild als Hintergrund im Applet AWT, Swing, JavaFX & SWT 2
D Probleme mit MouseWheelListener und JLayeredPane in Applet AWT, Swing, JavaFX & SWT 2
G Applet und Swing Anwendung AWT, Swing, JavaFX & SWT 2
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
R for-Schleife in Applet ausgeben AWT, Swing, JavaFX & SWT 3
S Bild wird auf Canvas in Applet nicht gezeichnet AWT, Swing, JavaFX & SWT 4
W Swing heapsort + Applet AWT, Swing, JavaFX & SWT 4
P Diagramm in einem Applet zeichnen AWT, Swing, JavaFX & SWT 4
M Java Applet JTable/JList AWT, Swing, JavaFX & SWT 6
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2
K Alternative zu Applet mit HTML-Einbindung AWT, Swing, JavaFX & SWT 11
J Java-Applet beenden AWT, Swing, JavaFX & SWT 3
R Applet aus JFrame starten AWT, Swing, JavaFX & SWT 2
T Konfiguration speichern in Applet AWT, Swing, JavaFX & SWT 2
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
T HTML Seite neu laden mittels Applet AWT, Swing, JavaFX & SWT 2
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
T Java Applet beenden AWT, Swing, JavaFX & SWT 2
M Swing Butten & TextFields aus Applet im JFrame nicht sichtbar AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
M AWT text im applet formatieren AWT, Swing, JavaFX & SWT 5
L Applet Frage AWT, Swing, JavaFX & SWT 25
1 Verständnisprobleme bei Java Applet AWT, Swing, JavaFX & SWT 13
B Unterschied JFrame/Applet AWT, Swing, JavaFX & SWT 12
T [Applet] startet in Eclipse aber nicht im Browser AWT, Swing, JavaFX & SWT 2
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
P Swing Applet AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
A Applet kommt offline nicht mit FileReader zurecht AWT, Swing, JavaFX & SWT 3
F Applet und Popup AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben