Input/Output JFrame mit JButton und JTextfield

julian.veh

Bekanntes Mitglied
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

Java:
public class Blabla 
{
    public static void main (String[] args)
    {
        JFrame frame1 = new JFrame("Test");
        frame1.setSize(800,600);
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final JTextField tf1 = new JTextField("Hier eingeben");
        JButton button1 = new JButton("übernehmen");
        final JLabel label1 = new JLabel("Ihre Eingabe");
        button1.addActionListener(new ActionListener() {   @Override
                                                            public void actionPerformed(ActionEvent action)
                                                            {
                                                                String a = tf1.getText();
                                                                label1.setText("" + a);
                                                            }
        });
        
        Box container1 = new Box(BoxLayout.Y_AXIS);
        Box container2 = new Box(BoxLayout.X_AXIS);
        Box container3 = new Box(BoxLayout.X_AXIS);
        Box container4 = new Box(BoxLayout.X_AXIS);
        container2.add(label1);
        container3.add(tf1);
        container4.add(button1);
        container1.add(container2);
        container1.add(container3);
        container1.add(container4);
        frame1.add(container1);
        frame1.setVisible(true);
    }
    
}


Entspricht zwar nicht haargenau deinen Anforderungen, aber wenigstens konnte ich mal antworten statt zu fragen ^^

lG :)
 

mk4net

Aktives Mitglied
cool dankeschön. Das mit dem Boxlayout ist echt gut dann kann ich endlich alles vergrösern und verkleinern wie ich will^^

mfg Nick
 

mk4net

Aktives Mitglied
sry für doppelpost:
Ich hab das jetzt mal so übertragen, es funktioniert aber nicht besonders es wird mir nichts mehr angezeigt... das stört irgendwie. Javacode steht nach Edit habs doch hingekriegt


Edit: doch noch geschaft, ich habe einfach das Jpanel gelöscht und die conatainer 1 direkt an den Rahmen geaddet. Was jetzt noch interesant wär einen kleinen Abstand zwischen textOutput und input zu machen. Wäre toll wenn mir jemand von euch helfen könnte.

Java:
package boxLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;


import javax.swing.AbstractAction;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import boxLayout.Textverarbeitung.TextverarbeitungListener;
 
public class Main {
    private JFrame fenster;
    private JTextField textInput;
    private JTextArea textOutput;
    
    public Main(int w, int h){
        //Nur GUI
        fenster = new JFrame("EngineVersuch001");
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.setSize(w, h);
 
        textOutput = new JTextArea(20,50);
        textOutput.setEditable(false);
        
        textInput = new JTextField(50);
         
        JButton checkButton = new JButton(new AbstractAction("Bestätigen") {
            public void actionPerformed(ActionEvent e) {
                checkButtonActionPerformed();
            }
        });
        
        
        Box container1 = new Box(BoxLayout.Y_AXIS);
        Box container2 = new Box(BoxLayout.X_AXIS);
        Box container3 = new Box(BoxLayout.X_AXIS);
        Box container4 = new Box(BoxLayout.X_AXIS);
        
        container2.add(textOutput);
        container3.add(textInput);
        container4.add(checkButton);
        container1.add(container2);
        container1.add(container3);
        container1.add(container4);
        fenster.add(container1);
        
        fenster.setVisible(true);
    }
    private void checkButtonActionPerformed() {
        Textverarbeitung eingabe = new Textverarbeitung();      //erstellt Verbindung zu Textverarbeitungsmethode "Eingabe"
        eingabe.setListener(new TextverarbeitungListener() {	//erstellt Listener für "Eingabe"
            public void stringOutput(String s) {	//gibt die Variable s aus die von Textverarbeitung.verarbeiteEingabe kommt
                writeToTextOutput(s);
            }
        });
        String userInput = textInput.getText();                        //weist dem String die Benutzereingabe vom JTextfield textInput zu
        eingabe.verarbeiteEingabe(userInput);                 //gibt die Benutzereingabe an Textverarbeitungsmethode weiter
        textInput.setText(null);    
    }
    private void writeToTextOutput(String text) {
        textOutput.append(text + "\n");
    }
    
    public static void main(String[] args){
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Main(580,430);
            }
        });
    }
}
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Eine andere Möglichkeit wäre es paintComponent zu überschreiben und direkt zu zeichnen. Das ist eher Geschmackssache ob per Component oder Zeichnen. Componenten bringen dir schon viele Dinge mit, du hast aber im Gegensatz auch viele unnötige Dinge dabei.

Zu den "passieren" könntest du eine Klasse (GameEvent oder so, ein wenig schauen da Event schon oft benutzt wird) schreiben. Dazu eine Klasse Feld. Die Events werden bei den Feldern registriert und wenn der Spieler draufsteigt wird das dem Feld mitgeteilt, falls das ein Event hat wird ein Listener abgefeuert.

E: Du solltest schon einen Componenten am JFrame hinzufügen.
 

mk4net

Aktives Mitglied
Höhrt sich wiie immer gut an, danek. Ich veruschs mal umzusetzen.

mfg Nick

Edit: is wohl doch nich so einfach. dass mit den Arrays. hmm gibt es einen speziiellen Array für so ne art 2D Koordinatensystem ode rmuss ich wirklich nen Arrays machen und denn mit arrays vollstopfen?.. so hab ichs jetzt nämlich probier es geht aber iwie nich.
Ich hab jetz 10 mins mal nur gegoogelt aber nix gefunden. Also hier der Code:

Java:
package package003;

public class Feld {
	public String Karte() {
		String event=null;
		
		int yAchse1[]={null,null,"Haus",null,null};
		int yAchse2[]={};
		int yAchse3[]={};
		int yAchse4[]={};
		int yAchse5[]={};
		
		int xAchse[]={yAchse1[], yAchse2[], yAchse3[], yAchse4[], yAchse5[]};

		
		
		
		
		
		return event;
	}

}

Wäre wie immer sehr dankbar für Hlfe
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Ne. Arrays mit Arrays vollstopfen kann Java schon von Haus aus.

Java:
private static void createFields() {
	Field[][] fields = new Field[20][10];
	
	for(int x = 0; x < fields.length; x++) { //Vertikale Füllrichtung!
		for(int y = 0; y < fields[x].length; y++) {
			fields[x][y] = new Field(FieldType.HOUSE);
			fields[x][y].addEvent(new FieldEvent());
		}	
	}
}

Java:
package javaforum.mk4net;

import java.util.LinkedList;
import java.util.List;

public class Field {
	private static enum FieldType {
		HOUSE, WATER, HILL, WOOD
	};
	
	private FieldType type;
	private List<FieldEvent> events;
	
	public Field(FieldType type) {
		this.type = type;
		events = new LinkedList<Field.FieldEvent>();
	}
	public void addEvent(FieldEvent event) {
		events = new LinkedList<Field.FieldEvent>();
	}
	
	private static class FieldEvent {
		
	}
}

So erzeugt man per Sekunden ne Großstadt.
 

mk4net

Aktives Mitglied
Ich hab "zweidimensionaler Array Java" "Java Arrays mit Arrays" und "Java Arrays mit Arrays befüllen" gegooglet + diverse Variationen davon btw sehr hilfreicher Beitrag.

mfg Nick
 

mk4net

Aktives Mitglied
Gnade.. xD i versteh wieder mal nichts^^
Das is zu viel auf einmal, ich bin nicht besonders gut, ich hab mirjetzt mal rausgeschaut das das ne
Arraylist ist. Was das genau ist keine Ahnung. Du definierst auch einige Typen die ich nicht kenn
udn auch nich versteh z.B.:
Java:
public Field(FieldType type) {
        this.type = type;
        events = new LinkedList<Field.FieldEvent>();
    }

Was bedeutet das? Ich hab leider noch nciht mal die Chance das zu verstehn.
Tut mir echt leid.

Ich hab die zwei sachen mal so zusammengefügt ich hoffe das passt so:

Java:
package package003;

import java.util.LinkedList;
import java.util.List;
 
public class Field {
    private static enum FieldType { //fixe Typen die vordefineirt sind. Wie zumbeispielwochentage mann kans sich auf den kopfstellen gibt trotzdem blos 7
        HOUSE, WATER, HILL, WOOD
    };
    
    private FieldType type;				//hmm keine Ahnung was das macht
    private List<FieldEvent> events; //warum <> diese Klammern?
    
    public Field(FieldType type) {
        this.type = type;
        events = new LinkedList<Field.FieldEvent>();
    }
    public void addEvent(FieldEvent event) {
        events = new LinkedList<Field.FieldEvent>();
    }
    
    private static class FieldEvent {
        
    }
    private static void createFields() {
        Field[][] fields = new Field[20][10];
        
        for(int x = 0; x < fields.length; x++) { //Vertikale Füllrichtung!
            for(int y = 0; y < fields[x].length; y++) {
                fields[x][y] = new Field(FieldType.HOUSE);
                fields[x][y].addEvent(new FieldEvent());
            }   
        }
    }
}

@Robokopp nichts verwertbares, ich bin wirklih nicht besonders gut wenn mir jemand ne 2seitige Formel hinklatscht wo irgendwo da drin ein Ansatz meiner Lösung drinsteckt hiflt mir
das nun wirklich nciht sehr viel.
 

Volvagia

Top Contributor
Robo hat schon recht, allerdings muss man dazu sagen dass auch googeln gelernt sein will. Vielleicht lernt man mit der Zeit, die Suchquery richtig zu formulieren oder bekommt ein besseres Auge für die relevanten Ergebnisse. Keine Ahnung.

"private FieldType type;" ist eine Klassenvariable und die LinkedList braucht Klammern da sie generic ist und du ihr sagen kann was da am Ende rein soll.
Der Inhalt von "addEvent(FieldEvent event)" ist Quatsch. Da musst du natürlich das Event der Liste hinzufügen und keine neue Liste erzeugen.
 

mk4net

Aktives Mitglied
Sry ich hab das biss jetz durchgelesen und zu verstehen versucht. Aber es ist mir einfach zu komplex... ich komm mir grad irgendwie extrem blöd vor^^ aber könntest du mir das bitte
kommentiere. Ich hab sonst echt keine Chance zu kapieren. Ich programmier erst seit 2Monaten Java.

mfg Nick
 

Volvagia

Top Contributor
Er rennt das Array durch, schreibt in jedes Feld ein Field. Das speichert den Type ab, erzeugt eine Liste und bekommt ein Event. Durch den Fehler erzeugt er eine neue Liste statt es abzuspeichern.
 

mk4net

Aktives Mitglied
so schön langsam aber wirklich nur langsam fang ich an es zu verstehen.
Die zwei for-Schleifen:
Java:
private static void createFields() {
        Field[][] fields = new Field[20][10];
        
        for(int x = 0; x < fields.length; x++) { //Vertikale Füllrichtung!
            for(int y = 0; y < fields[x].length; y++) {
                fields[x][y] = new Field(FieldType.WOOD);
                fields[x][y].addEvent(new FieldEvent());
            }   
        }
    }

versteh ich ja jetzt. er geht einfach der Reihe nach jede ArraysSPeicherDings durch
und setzt das auf einen enum Typen der oben definiert ist.
dass versteh ich.

Aber was es mit dm Event zeug auf sich hat versteh ich gar nicht.
Ich weis das aus der Schleife addEvent aufgerufen wird und zwar mit einer
Verknüpfung zur class FieldEvent.

Ich geh davon aus dass ich die Klass FieldEvent mit etwas befüllen muss...
Ich schätz mal das ich zum Beispiel ausgabebefehle oder so etwas dort
hineinschreiben soll. Aber es soll ja für verschiedene ich nenns mal Blöcke
andere Events geben.

Ich wär dir sehr dankbar wenn du das ganze Event gedöhns von Zeile 11-20
nochmal Zeilenweiswe erklären könntest. Es tut mir wirklich leid wenn ich
nerve aber es macht gerade so Spass dass alles zu programmieren und es
wäre echt schade wenn ich das jetzt nicht hinkriegen würde.

Ich versuche solange mal so ne Art kleinen Zufallsgenerator für die Map
zu machen.

mfg Nick
 

Robokopp

Bekanntes Mitglied
Robo hat schon recht, allerdings muss man dazu sagen dass auch googeln gelernt sein will. Vielleicht lernt man mit der Zeit, die Suchquery richtig zu formulieren oder bekommt ein besseres Auge für die relevanten Ergebnisse. Keine Ahnung.

Und vorallem auch Transferdenken :D
im großen und ganzen lassen sich viele Snippets die man im Netz findet auf das eigene Programm/Problem übertragen.

Wenn der Herr dann fertig ist mit seinem Programm lässt sich aus dem Thread sicher ein Tutorial machen

EDIT:

Hab dir hier mal die freie HTML Version des Galileo Computing Buchs "Java ist auch eine Insel" ergoogelt.
Da steht denk ich mal alles grundlegende drin

Galileo Computing :: Java ist auch eine Insel - index

Vlt hilft es dir ja ein wenig
 
Zuletzt bearbeitet:

mk4net

Aktives Mitglied
Dankeschön. für das Buch. Ich hab aber zur Not auch eins zu Hause.
"java von Kopf bis Fuss" gefält mir eig recht gut. Ich wollt aber jetzt
auch mal was komplett eigenes probieren. ... is nich viel draus geworden
mehr als die hälfte is ja von Volvagia xD aber ich bin trotzem recht
zufrieden.
Die Idee mit dem Tutorial ist mir auch schon gekommen. Dass würde
mir als Anfänger auch sehr viel Bringen wenn ich das für andre erklär.
Durch alles umnfassende Blödheit was Java betrifft bin ich sicher in der
Lage alles recht einfach zu Formulieren xD. Auserdem ahb ich alle
größeren Zwischenschritte als eigene Version gespeichert xD.

Das eigentliche Programm betreffend:
Ich hab den Zufallsgenerator jetzt gemacht und bin eig damit sehr
zufrieden. Ich finde der is gut so, verbesserungsvorschläge natürlich
stark erwünscht^^ .

Hier der Code:
Java:
package mapZufall;

import java.util.LinkedList;
import java.util.List;
import java.util.Random;
 
public class Field {
    private static enum FieldType { //fixe Typen die vordefineirt sind. Wie zumbeispielwochentage mann kans sich auf den kopfstellen gibt trotzdem blos 7
        HOUSE, WATER, HILL, WOOD
    };
    
    private FieldType type;				//Klassenvariable--> Refernz auf die gesamte Klasse
    private List<FieldEvent> events; //<> weil generic
    
    public Field(FieldType type) {
        this.type = type;
        events = new LinkedList<Field.FieldEvent>();
    }
    public void addEvent(FieldEvent event) {
        events = new LinkedList<Field.FieldEvent>();
    }
    
    private static class FieldEvent {
    	
        
    }
    
    private static void createFields() {
        Field[][] fields = new Field[10][10];
        
        for(int x = 0; x < fields.length; x++) { 					//Wandert die x-Koordinate Durch
            for(int y = 0; y < fields[x].length; y++) {				//und alle y
                fields[x][y] = new Field(FieldType.WOOD);           //weist jedem dann einen BodenTyp zu und
                Random zuffalsZahl = new Random();					//erstellt neuen Zufallsgenerator.
                int zahl = zuffalsZahl.nextInt(10);					//erstellt neuen Int und weist ihm Zuffalszahl zu
                if(zahl > 9) {										//if Bedingung: wenn zahl > 9 dann addEvent --> Chance 1:10 oder 1:9 ?
                	fields[x][y].addEvent(new FieldEvent());		//weist wenn Bedingung true ist Event hinzu.
                }
            }   
        }
        
    }
}

mfg Nick
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Stimmt, das könnten wir machen. ^^

Die Klasse beinhaltet genau genommen nur ein Enum, was im großen und ganzen nicht mehr als eine Sammlung Konstanten ist. Dazu noch die Referenz die auf eine Konstante zeigt und eine die auf eine Liste zeigen sollte. Das wars eigendlich schon.

Wenn du verschiedene Events haben willst solltest du vielleicht an Vererbung wie in ersten meinen Beispiel denken.
 

mk4net

Aktives Mitglied
Das wars eigendlich schon.

ZNARF ich verstehs trotzdem nich^^.

Ich versteh nur das snich bitte ich bettel auf knien erklärs Zeilenweise ich verstehe weder aufbau noch Syntax noch sonst was in diesem Bereich.

Java:
    public Field(FieldType type) {
        this.type = type;
        events = new LinkedList<Field.FieldEvent>();
    }
    public void addEvent(FieldEvent event) {
        events = new LinkedList<Field.FieldEvent>();
    }
 

Robokopp

Bekanntes Mitglied
Dankeschön. für das Buch. Ich hab aber zur Not auch eins zu Hause.
"java von Kopf bis Fuss" gefält mir eig recht gut. Ich wollt aber jetzt
auch mal was komplett eigenes probieren. ... is nich viel draus geworden
mehr als die hälfte is ja von Volvagia xD aber ich bin trotzem recht
zufrieden.
Die Idee mit dem Tutorial ist mir auch schon gekommen. Dass würde
mir als Anfänger auch sehr viel Bringen wenn ich das für andre erklär.
Durch alles umnfassende Blödheit was Java betrifft bin ich sicher in der
Lage alles recht einfach zu Formulieren xD. Auserdem ahb ich alle
größeren Zwischenschritte als eigene Version gespeichert xD.

Ich denke du musst dir einfach mehr Zeit lassen, lesen und ausprobieren, dann klappt das schon fast von alleine :)
Edit:
und das mit dem Tutorial war eigentlich leichte Ironie. Das hab ich nur gesagt, weil durch deine vielen Fragen hier alles Step-by-Step erklärt wird von Volvagina sodass es schon fast dafür reichen könnte^^
 
Zuletzt bearbeitet:

mk4net

Aktives Mitglied
Is aber trotzdem keine Schlechte Idee, selbst wenns Ironie war.
btw verstehst du den Code? Könntest du mir den vl erklären?

mfg Nick
 

mk4net

Aktives Mitglied
Dankeschön das war genau das wass ich gebraucht hab. Yay.
So jetzt versuch ich mich mal daran dass ich den Spieler bewegen kann. :rtfm:
Meld mich dann in 10 minuten mit n paar hundert mehr Fragen. :D

mfg Nick

hmm Zeile 19-21 is folgender Fehler:
Java:
    public void addEvent(FieldEvent event) {
        events = add(event);
    }

er schmeist mir in der 2 Zeile folgende Meldung:
The method add(Field.FieldEvent) is undefined for the type Field

Weis wär von euch was exlipse damit sagen will?
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Sag doch wenn du editierst, sonst erfahre ich ja nie dass sich da was geändert hat.

Es soll natürlich nicht events = add(event); sondern events.add(event); heißen.
 

mk4net

Aktives Mitglied
Naja xD passt ja bin auch erst jezt vom Radfahren zurückgekommen^^
Dass mit dem events.add(event); geht jetzt, aber da tuht sich mir gleich die nächste Frage
auf:
Und zwar wie mach ich eine Sinvolle Referenz auf Field.java.
wenn ich Field karte = new Field(); schreibe soll ich noch was
in den Konstruktor(glaube so heisen die Klammern) tun..
aber was? Ich mein ich wollt einfach mal so ganz schön allgemein
einfach dann karte.createField(10,10) ausführen.

mit freundlichsten Grüßen Nick

Main:

Java:
package package003;
import java.awt.EventQueue;			//für ActionListener
import java.awt.event.ActionEvent;	//für ActionListener
import javax.swing.AbstractAction;	//für ActionListener
import javax.swing.Box;				//für das BoxLayout
import javax.swing.BoxLayout;		//dito
import javax.swing.JButton;			//Jbutton o.O
import javax.swing.JFrame;			//JFrame
import javax.swing.JTextArea;		//JTextare das ist das Output Feld
import javax.swing.JTextField;		//TextField EingabeFeld

import package003.Textverarbeitung.TextverarbeitungListener;
 
public class Main {
    private JFrame fenster;
    private JTextField textInput;
    private JTextArea textOutput;
    
    public Main(int w, int h){
        Field karte = new Field();        
        
        //Nur GUI
        fenster = new JFrame("EngineVersuch001");
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.setSize(w, h);
 
        textOutput = new JTextArea(20,50);
        textOutput.setEditable(false);
        
        textInput = new JTextField(50);
         
        JButton checkButton = new JButton(new AbstractAction("Bestätigen") {
            public void actionPerformed(ActionEvent e) {
                checkButtonActionPerformed();
            }
        });
        
        
        Box container1 = new Box(BoxLayout.Y_AXIS);
        Box container2 = new Box(BoxLayout.X_AXIS);
        Box container3 = new Box(BoxLayout.X_AXIS);
        Box container4 = new Box(BoxLayout.X_AXIS);
        
        container2.add(textOutput);
        container3.add(textInput);
        container4.add(checkButton);
        container1.add(container2);
        container1.add(container3);
        container1.add(container4);
        fenster.add(container1);
        
        fenster.setVisible(true);
    }
    private void checkButtonActionPerformed() {
        Textverarbeitung eingabe = new Textverarbeitung();      //erstellt Verbindung zu Textverarbeitungsmethode "Eingabe"
        eingabe.setListener(new TextverarbeitungListener() {	//erstellt Listener für "Eingabe"
            public void stringOutput(String s) {	//gibt die Variable s aus die von Textverarbeitung.verarbeiteEingabe kommt
                writeToTextOutput(s);
            }
        });
        String userInput = textInput.getText();                        //weist dem String die Benutzereingabe vom JTextfield textInput zu
        eingabe.verarbeiteEingabe(userInput);                 //gibt die Benutzereingabe an Textverarbeitungsmethode weiter
        textInput.setText(null);    
    }
    private void writeToTextOutput(String text) {
        textOutput.append(text + "\n");
    }
    
    public static void main(String[] args){
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Main(580,430);
            }
        });
    }
}


Field:
Java:
package package003;

import java.util.LinkedList;
import java.util.List;
 
public class Field {
    private static enum FieldType { //fixe Typen die vordefineirt sind. Wie zumbeispielwochentage mann kans sich auf den kopfstellen gibt trotzdem blos 7
        HOUSE, WATER, HILL, WOOD
    };
    
    private FieldType type;				//Klassenvariable--> Refernz auf die gesamte Klasse
    private List<FieldEvent> events; //<> weil generic
    
    public Field(FieldType type) {
        this.type = type;
        events = new LinkedList<Field.FieldEvent>();
    }
    public void addEvent(FieldEvent event) {
        events = new LinkedList<Field.FieldEvent>();
    }
    
    private static class FieldEvent {
    	
        
    }
    
    private static void createFields() {
        Field[][] fields = new Field[20][10];
        
        for(int x = 0; x < fields.length; x++) { //Vertikale Füllrichtung!
            for(int y = 0; y < fields[x].length; y++) {
                fields[x][y] = new Field(FieldType.WOOD);
                fields[x][y].addEvent(new FieldEvent());
            }   
        }
    }
}
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Nein, der Konstruktor ist die "Methode", die genau wie die Klasse heißt und keinen Rückgabewert besitzt. Die Klammern sind nur der Bereich für die Parameter, die der Konstruktor (bzw. die Methode bei Methoden) bekommt.

Das Field benötigt eine Instance von FieldType. Die derzeitige Erzeugmethode übergibt das ja bereits:

Java:
new Field(FieldType.WOOD);
 

mk4net

Aktives Mitglied
hmm aber das wird doch schon dort unten definiert welcher Typ verwendet wird, (Zeile 3):
Java:
        for(int x = 0; x < fields.length; x++) { 					//Wandert die x-Koordinate Durch
            for(int y = 0; y < fields[x].length; y++) {				//und alle y
                fields[x][y] = new Field(FieldType.WOOD);           //weist jedem dann einen BodenTyp zu und
                Random zuffalsZahl = new Random();					//erstellt neuen Zufallsgenerator.
                int zahl = zuffalsZahl.nextInt(10);					//erstellt neuen Int und weist ihm Zuffalszahl zu
                if(zahl > 9) {										//if Bedingung: wenn zahl > 9 dann addEvent --> Chance 1:10 oder 1:9 ?
                	fields[x][y].addEvent(new FieldEvent());		//weist wenn Bedingung true ist Event hinzu.
                }
            }   
        }

Oder?
 

Volvagia

Top Contributor
Was genau hast du jetzt vor? Du hast doch schon die Methode createFields(). Du brauchst nur noch Field.createFields(); aufzurufen und hast ein Array voller Felder mit Bäumen. Der Traum eines jeden Naturschützers. Da die Methode static ist brauchst du auch kein Feld zu erzeugen um die Methode aufzurufen.
 

mk4net

Aktives Mitglied
...aha dass hab ich jetzt fast verstanden. Also ich will es ja aufrufen mehr nicht.
Ich möchte einfach die Karte erstellen können aus der main heraus. Dazu muss ich doch
dass hier schreiben oder?:
Java:
     Field karte = new Field(FieldType.WOOD);
     karte.createFields(10,10);

das 10,10 ist weil ich eingestellt hab das die Methode createFields die empfängt und
zur größenbestimmung verwendet.
 

Volvagia

Top Contributor
Nein. createFields ist statisch, da brauchst (und solltest) du keine Instanz benutzen. Einfach aufrufen: Field.createFields(10,10);
Das Array musst du natürlich per return zurückgeben oder sonst irgendwie speichern.
 

mk4net

Aktives Mitglied
achso oke. Das Statische heist das ich von überall drauf zugreifen kann oder ?
Edit: jetz isses klar du hast create fields private gemacht deswegen gehtz nich^^
 

Volvagia

Top Contributor
Das du ohne Instanz darauf zugreifen kannst. Wenn sie public ist sollte es von überall her gehen. Aber bloß nicht missbrauchen. Statisch sollte wenn möglich nur benutzt werden, wenn keine Werte gespeichert werden brauchen.
 

mk4net

Aktives Mitglied
nur von innen is die gleiche Klasse oder?
Wie könnte ich eine methode in Textverarbeitung machen die aus allen Klassen Text empfängt und den Dann ausgibt?//gibt es sowas vl schon und ich wei snur nciht wie ich das korrekt verwende?
 
Zuletzt bearbeitet:

mk4net

Aktives Mitglied
So also damit dass hier nich zu nem Chat mutiert wieder eine Größere Fragen Sammlung^^:

1) Wie kann ich die Fields an GameEvent.class sinnvoll übergeben?
2)Von welchem Typ ist eigentlich dieser Array? String, int oder was mit dem ENUM ?
3)Wie könnte ich es sinnvoll gestalten dass ich einem Feld mehrere Events zuweise z.B.:
~Dass ich wenn ich auf diesem Feld lande eine TextNachricht erhalte
~Nicht mehr nach Norden gehen kann
~aber dafür ka ein Stück Gold finde(Inventar sollte kein größeres Problem sein oder?)
4)Wäre es sinnvoll wenn ich in Textverarbeitung eine Methode erstelle der ich Global Text senden
kann, und diese diesen Text dann ausgibt?

5)Gibt es so eine Methode bereits und ich weis nur nciht wie ich die richtig verwende?
Wenn ja wie verwende ich sie?


mfg Nick
 

Volvagia

Top Contributor
Den Gedanken mit dem Chat hatte ich schon Anfang Seite 3.

1) Wenn ich mich nicht täusche hast du die Klasse GameEvent bis jetzt noch nicht erwähnt.
2) Field.
3) Alle Events in die LinkedList und in einer Schleife abarbeiten.
3c) Für Gold reicht eine int. Das einzige Spiel, was mit spontan einfällt in dem Geld im Inventar liegt ist Diablo.
4) Nein, keinesfalls. Dazu schaffst du eine zu starke Abhängigkeit zwischen dem Sender und dem Empfänger. Das Event gibt den an einen Vermittler zurück (z. B. an die Main) und diese übermittelt den Text an die GUI.
5) Da fällt mir nichts ein.
 

mk4net

Aktives Mitglied
Das Tut mir Leid xD du musst sagen wenn ich irgendwie nerv oder so. Ich versuch das jetz blos
komplett auszunutzen das ich hier jemanden gefunden hab der mir alle Fraagen verständlich
beantworten kann.

1)Da hast du recht aber ich hatte vor dort alles zu berrechnen verwalten was nicht mit Text zu
tuhn hat.

2)Sry ich hab ncihtmal gewusst das das ein Typ ist. Ich google mal wie ich den verwenden muss

3)Das mit LinkedList ist der Teil vom programm denn ich nich so ganz kapier kannst du mri evtl. ein
Beispiel schreiben. Einfach nur das er zweimal was in textOutput schreibt wäre Ideal.

4) hmm das versteh ich nich ich hätte gedacht das ist dann geordneter. Wie kann ich das dann
lösen? Teilweise ja wenn du das machst mit 3) beantwortet

Field:
Java:
package package004;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
 
public class Field {
    private static enum FieldType { //Eine Sammlung von Konstanten= 1 Enum
        HOUSE, WATER, HILL, WOOD
    };
    
    private FieldType type;				//Klassenvariable--> Refernz auf die gesamte Klasse
    private List<FieldEvent> events; //<> weil generic
    
    public Field(FieldType type) {		//Speichere Klassenvariable
        this.type = type;				//asl das hier
        events = new LinkedList<Field.FieldEvent>();//erzeugt eine neue Liste und speichert sie als events
    }
    public void addEvent(FieldEvent event) {
       events.add(event);
    }
    
    private static class FieldEvent {
    	
        
    }
    
    static void createFields(int xAnzahl, int yAnzahl) {
        Field[][] fields = new Field[xAnzahl][yAnzahl];
        
        for(int x = 0; x < fields.length; x++) { 					//Wandert die x-Koordinate Durch
            for(int y = 0; y < fields[x].length; y++) {				//und alle y
                fields[x][y] = new Field(FieldType.WOOD);           //weist jedem dann einen BodenTyp zu und
                Random zuffalsZahl = new Random();					//erstellt neuen Zufallsgenerator.
                int zahl = zuffalsZahl.nextInt(10);					//erstellt neuen Int und weist ihm Zuffalszahl zu
                if(zahl > 9) {										//if Bedingung: wenn zahl > 9 dann addEvent --> Chance 1:10 oder 1:9 ?
                	fields[x][y].addEvent(new FieldEvent());//weist wenn Bedingung true ist Event hinzu.
                }
            }   
        }
        
    }
}

Main:
Java:
package package004;
import java.awt.EventQueue;			//für ActionListener
import java.awt.event.ActionEvent;	//für ActionListener
import javax.swing.AbstractAction;	//für ActionListener
import javax.swing.Box;				//für das BoxLayout
import javax.swing.BoxLayout;		//dito
import javax.swing.JButton;			//Jbutton o.O
import javax.swing.JFrame;			//JFrame
import javax.swing.JTextArea;		//JTextare das ist das Output Feld
import javax.swing.JTextField;		//TextField EingabeFeld

import package004.Textverarbeitung.TextverarbeitungListener;
 
public class Main {
    private JFrame fenster;
    private JTextField textInput;
    private JTextArea textOutput;
    
    public Main(int w, int h){
        Field.createFields(10,10);
    	
    	//Nur GUI
        fenster = new JFrame("EngineVersuch001");
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.setSize(w, h);
 
        textOutput = new JTextArea(20,50);
        textOutput.setEditable(false);
        
        textInput = new JTextField(50);
         
        JButton checkButton = new JButton(new AbstractAction("Bestätigen") {
            public void actionPerformed(ActionEvent e) {
                checkButtonActionPerformed();
            }
        });
        
        
        Box container1 = new Box(BoxLayout.Y_AXIS);
        Box container2 = new Box(BoxLayout.X_AXIS);
        Box container3 = new Box(BoxLayout.X_AXIS);
        Box container4 = new Box(BoxLayout.X_AXIS);
        
        container2.add(textOutput);
        container3.add(textInput);
        container4.add(checkButton);
        container1.add(container2);
        container1.add(container3);
        container1.add(container4);
        fenster.add(container1);
        
        fenster.setVisible(true);
    }
    private void checkButtonActionPerformed() {
        Textverarbeitung eingabe = new Textverarbeitung();      //erstellt Verbindung zu Textverarbeitungsmethode "Eingabe"
        eingabe.setListener(new TextverarbeitungListener() {	//erstellt Listener für "Eingabe"
            public void stringOutput(String s) {	//gibt die Variable s aus die von Textverarbeitung.verarbeiteEingabe kommt
                writeToTextOutput(s);
            }
        });
        String userInput = textInput.getText();                        //weist dem String die Benutzereingabe vom JTextfield textInput zu
        eingabe.verarbeiteEingabe(userInput);                 //gibt die Benutzereingabe an Textverarbeitungsmethode weiter
        textInput.setText(null);    
    }
    private void writeToTextOutput(String text) {
        textOutput.append(text + "\n");
    }
    
    public static void main(String[] args){
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Main(580,430);
            }
        });
    }
}

Textverarbeitung:
Java:
package package004;
import package004.Textverarbeitung.TextverarbeitungListener;

public class Textverarbeitung {
    private TextverarbeitungListener listener;
    
    public void verarbeiteEingabe(String userInput) {
        userInput = userInput.toLowerCase();
        String[] befehle ={"north","east","south","west","map","end"};
        boolean korrekteEingabe = false;
        
        for (int x =0;x<befehle.length;x++){// for-SChleife die Alle Befehle im Befehlsarray durchgeht und konntrolliert
        	
        	if(userInput.equals(befehle[x])){	//If (die UserEingabe == dem Befehl[mit der aktuellen Nummer des Durchlaufs]) dann gib etwas aus
        		if(listener != null) {
        			listener.stringOutput("Player: " + userInput);
            		korrekteEingabe = true;
        		}
        	}
        	
        }//Ende for-Schleife
        if(korrekteEingabe == false){
        	listener.stringOutput("!Falsche Eingabe!");
        }
    }
 
    public static interface TextverarbeitungListener {
        public void stringOutput(String s);
    }
 
    public void setListener(TextverarbeitungListener textverarbeitungListener) {
        listener = textverarbeitungListener;
    }
}

Die GameEvent ist zurzeit noch leer bis auf eine Methode die die Karte empfängt ist aber sinnlos da ich nicht weis wie ich mit dem Format umzugehen hab.


mfg Nick

Edit: geht ein Case Schleife auch mit einem String? habs im Internet nich gefunden und nich zusammengekriegt?
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
3) Hier ein Event das in der Lage wäre etwas in den Output zu schreiben. Wie du es aufrufst musst du selbst wissen. ^^

Java:
package javaforum.mk4net;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;

import javaforum.mk4net.Field.FieldEvent;
import javaforum.mk4net.Field.FieldEventListener;
import javaforum.mk4net.Field.SomeEvent;
import javaforum.mk4net.Textverarbeitung.TextverarbeitungListener;

import javax.swing.AbstractAction;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
 
public class Main {
    private JFrame fenster;
    private JTextField textInput;
    private JTextArea textOutput;
    private Field fields;
    
    public Main(int w, int h){
        Field[][] fields = Field.createFields(10,10);
        fields[5][5].addEvent(createSomeEvent());
        
        //Nur GUI
        fenster = new JFrame("EngineVersuch001");
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.setSize(w, h);
 
        textOutput = new JTextArea(20,50);
        textOutput.setEditable(false);
        
        textInput = new JTextField(50);
         
        JButton checkButton = new JButton(new AbstractAction("Bestätigen") {
            public void actionPerformed(ActionEvent e) {
                checkButtonActionPerformed();
            }
        });
        
        
        Box container1 = new Box(BoxLayout.Y_AXIS);
        Box container2 = new Box(BoxLayout.X_AXIS);
        Box container3 = new Box(BoxLayout.X_AXIS);
        Box container4 = new Box(BoxLayout.X_AXIS);
        
        container2.add(textOutput);
        container3.add(textInput);
        container4.add(checkButton);
        container1.add(container2);
        container1.add(container3);
        container1.add(container4);
        fenster.add(container1);
        
        fenster.setVisible(true);
    }
    private FieldEvent createSomeEvent() {
    	SomeEvent event = new SomeEvent();
    	event.addFieldEventListener(new FieldEventListener() {
			public void giveTextOut(String s) {
				writeToTextOutput(s);
			}
    	});
		return(event);
	}
	private void checkButtonActionPerformed() {
        Textverarbeitung eingabe = new Textverarbeitung();      //erstellt Verbindung zu Textverarbeitungsmethode "Eingabe"
        eingabe.setListener(new TextverarbeitungListener() {    //erstellt Listener für "Eingabe"
            public void stringOutput(String s) {    //gibt die Variable s aus die von Textverarbeitung.verarbeiteEingabe kommt
                writeToTextOutput(s);
            }
        });
        String userInput = textInput.getText();                        //weist dem String die Benutzereingabe vom JTextfield textInput zu
        eingabe.verarbeiteEingabe(userInput);                 //gibt die Benutzereingabe an Textverarbeitungsmethode weiter
        textInput.setText(null);    
    }
    private void writeToTextOutput(String text) {
        textOutput.append(text + "\n");
    }
    
    public static void main(String[] args){
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Main(580,430);
            }
        });
    }
}

Java:
package javaforum.mk4net;

import java.util.LinkedList;
import java.util.List;
import java.util.Random;
 
public class Field {
    private static enum FieldType { //Eine Sammlung von Konstanten= 1 Enum
        HOUSE, WATER, HILL, WOOD
    };
    
    private FieldType type;             //Klassenvariable--> Refernz auf die gesamte Klasse
    private List<FieldEvent> events; //<> weil generic
    
    public Field(FieldType type) {      //Speichere Klassenvariable
        this.type = type;               //asl das hier
        events = new LinkedList<Field.FieldEvent>();//erzeugt eine neue Liste und speichert sie als events
    }
    public void addEvent(FieldEvent event) {
       events.add(event);
    }
    
    abstract static class FieldEvent {
    	private List<FieldEventListener> listeners;
    	
    	protected FieldEvent() {
    		super();
    		listeners = new LinkedList<Field.FieldEventListener>();
		}
    	
    	public abstract void entered();
    	
    	protected void fireGiveTextOutEvent(String s) {
    		for(FieldEventListener l:listeners) {
    			l.giveTextOut(s);
    		}
    	}
    	
    	public void addFieldEventListener(FieldEventListener l) {
			listeners.add(l);
		}
    }
    static class SomeEvent extends FieldEvent {
		public void entered() {
			fireGiveTextOutEvent("Text");
		}
    }
    public interface FieldEventListener {
    	public void giveTextOut(String s);
    }
    
    
    
    
    
    static Field[][] createFields(int xAnzahl, int yAnzahl) {
        Field[][] fields = new Field[xAnzahl][yAnzahl];
        
        for(int x = 0; x < fields.length; x++) {                    //Wandert die x-Koordinate Durch
            for(int y = 0; y < fields[x].length; y++) {             //und alle y
                fields[x][y] = new Field(FieldType.WOOD);           //weist jedem dann einen BodenTyp zu und
                /*Random zuffalsZahl = new Random();                  //erstellt neuen Zufallsgenerator.
                int zahl = zuffalsZahl.nextInt(10);                 //erstellt neuen Int und weist ihm Zuffalszahl zu
                if(zahl > 9) {                                      //if Bedingung: wenn zahl > 9 dann addEvent --> Chance 1:10 oder 1:9 ?
                    fields[x][y].addEvent(new FieldEvent());//weist wenn Bedingung true ist Event hinzu.
                }*/
            }   
        }
        return(fields);
    }
}

4) Hältst du das

attachment.php


ordentlich als das?

attachment.php


Außerdem kannst du so keinen Teil mehr richtig warten oder austauschen, wenn alles irgendwie miteinander vernetzt ist. Da ist es am Ende wahrscheinlich leichter das Programm komplett neu zu schreiben.

5) "Case-Schleife" gibt es nicht. (Ist aber mal was anderes als die allerseits bekannte if-Schleife).
Du kannst ab Java 7 auch Strings als Einsprungpunkte in switch verwenden (vorher nur Zahlen und enum-Konstanten), aber ich verwende 7 noch nicht.
 

Anhänge

  • dia1.jpg
    dia1.jpg
    33,9 KB · Aufrufe: 48
  • dia2.jpg
    dia2.jpg
    18,7 KB · Aufrufe: 46

mk4net

Aktives Mitglied
Hmm danke aber das ist schon weider soo viel xD da brauch ich glaub bis Morgen bis ich das zu 100% versteh^^.

Geht das in der Field.class eig übersichtlicher das man nciht ale Sachen ähnlich nennt oder muss
das so sein?

Wieso hast du eig mein Random Event ding sals Kommentar gemacht?//Warum funktioniert das
jezt nicht mehr?

@Überforferung

mfg Nick
 

Volvagia

Top Contributor
Klar. Du kannst deine Dinge so nennen, wie du willst, sofern kein Namenskonflikt mit reservierten Wörtern auftritt. (z. B. kannst du keine Methode "do()", aber dafür "doLoop()" nennen.) Bei Klassen gibts noch weitere Einschränkungen, wie z. B. Con. Keine Ahnung was das bedeutet, war glaub ich ein Befehl in C++.

Das habe ich auskommentiert, da die Main die Events kennen sollte. Da die Main der kleinste gemeinsame Teiler zwischen GUI und Event in der Erzeugungshierarchie ist muss diese die Infos bekommen um sie zur JTextArea weiterzuleiten. Das geht eben am einfachsten, wenn die Main einen anonymen Listener am Event nach der Erzeugung registriert. In meinem Beispiel in der Methode "createSomeEvent()".
 

mk4net

Aktives Mitglied
..ok Naja ich werd heut nichtmehr weitermachen die nächsten 2 Millioonene Fragen kommen dann morgen^^

wie immer großes Dankeschön

mfg Nick
 

mk4net

Aktives Mitglied
So hab jetzt wieder eine Zeit lang rumprobiert, :rtfm: und einige Fragen haben sich augeworfen:
1) Es gibt zwei Bugs: ich kann den Knopf aus dem Bildschirm schieben wenn einfach sehr oft was eingeb ich hab das mit Scrollbar probiert das funktioniert aber nicht wirklich.???:L
Java:
        JScrollPane textOutputScroll = new JScrollPane(textOutput, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);        textOutput = new JTextArea(20,50);
        textOutput.setEditable(false);
        textOutput.add(textOutputScroll);

2) Auch wenn ich nichts eingebe und Bestätige kommt !Falsche EIngabe! Ich hab versuch eine Schleife zu machen um das abzufangen aber auch dafür war ich zu doof(hab einige Variationen durchprobiert) :
Java:
        	if(userInput != null){
        		if(korrekteEingabe == false){
        			listener.stringOutput("!Falsche Eingabe!");
        		}
        	}
Aber auch das funktioniert überhaupt nciht und ich weis nicht wieso...
Ich hab es auch nicht fertig gebracht das Event von gestern korrekt zu verwenden^^

mfg Nick
 

Volvagia

Top Contributor
1) Verstehe ich nicht.
2) Die Rückgabe von getText ist bei leeren JTextFields "", sonst würde dir schon bei toLowerCase ne Exception fliegen.
 

mk4net

Aktives Mitglied
1) naja wenn ich 20 mal south eingeb und das jedes mal bestätige schiebt der Text den Button plus textInput aus dem Bildschirm was naja ziemlich nervt^^

2) probier ich gleich thx


mfg Nick
 

mk4net

Aktives Mitglied
Habs jetzt mit der Schleife abgefangen(dank deines Tipps) :
Java:
if(!userInput.equals("")){
        		if(korrekteEingabe == false){
        			listener.stringOutput("!Falsche Eingabe!");
        		}
        	}

Siegesgeheul ^^

mfg Nick
 

Volvagia

Top Contributor
Das ist keine Schleife, das ist eine Abfrage.
Mach lieber userInput.trim().lenght() != 0, dann werden auch reine Leerzeicheneingaben oder andere Widthspaces gefiltert.

Java:
container2.add(new JScrollPane(textOutput, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
		JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED));

funktioniert bei mir problemlos.
 

mk4net

Aktives Mitglied
Hehe Super dankeschön Funktioniert beides perfekt.
Hab blos vergessen die Scrollbar auch in den Container zu adden,
Danke xD. Und was das andere genau ist werd ich mir mal ergoogeln^^

mfg Nick
 

mk4net

Aktives Mitglied
Hmm wollte gfrad mal meinem Dad zeigen wie weit das Programm jetzt ist, habs als jar
gespeichert (executable). Dann hab ichs ihm geschickt, aber er konnts nich aufmachn
weil die main.class nicht gefunden wurde ... Woran kannn das liegen ?

mfg Nick
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
C Per JButton ein JFrame schliessen Java Basics - Anfänger-Themen 10
fragenÜber(fragen); Turtle Grafik mit GUI (JFrame) Java Basics - Anfänger-Themen 3
E JFrame + Buffer-strategy Java Basics - Anfänger-Themen 8
I JFrame / Screen auf zweitem (definiertem) Monitor öffnen Java Basics - Anfänger-Themen 3
luggas89 Mit Jframe live zeichnen Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
B HSQL mit JFrame steuern Java Basics - Anfänger-Themen 4
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
D Erste Schritte png in JFrame anzeigen? Java Basics - Anfänger-Themen 3
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
S Kontrollieren ob jframe disposed ist Java Basics - Anfänger-Themen 3
Elyt JFrame in den Hintergrund verschieben Java Basics - Anfänger-Themen 3
OSchriever JFrame-Anwendungsfenster verschieben Java Basics - Anfänger-Themen 17
M Bild in JFrame Java Basics - Anfänger-Themen 1
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
S JFrame mit Hintergrundbild und Button Java Basics - Anfänger-Themen 4
S JFrame Java Basics - Anfänger-Themen 15
I JFrame proportional verkleinerbar machen Java Basics - Anfänger-Themen 3
B Java JFrame zeichnen Java Basics - Anfänger-Themen 4
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
T Auslagern von Methoden bei einem JFrame Java Basics - Anfänger-Themen 6
N Erste Schritte JFrame Caesar-Verschlüsselung Java Basics - Anfänger-Themen 23
B Erste Schritte Objekte von JFrame der Fenstergröße anpassen Java Basics - Anfänger-Themen 3
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
3 JFrame immer im Hintergrund Java Basics - Anfänger-Themen 1
F Interface JFrame mit if-Abfrage automatisch schließen lassen? Java Basics - Anfänger-Themen 3
R JFrame nicht verschiebbar Java Basics - Anfänger-Themen 2
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
K Java JFrame mit Hintergrundbild erstellen Java Basics - Anfänger-Themen 1
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
H Eclipse JFrame Java Basics - Anfänger-Themen 3
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
K Methoden Methode starten wenn JFrame geöffnet wird Java Basics - Anfänger-Themen 2
D Erste Schritte JFrame Inhalte werden nicht angezeigt Java Basics - Anfänger-Themen 8
A Variablen In anderer Klasse auf Objekte von JFrame zugreifen Java Basics - Anfänger-Themen 1
B Ist MyFrame oder JFrame besser? Java Basics - Anfänger-Themen 3
Y JFrame sichtbarkeit Java Basics - Anfänger-Themen 4
KeVoZ_ Label auf JFrame willkürlich Positionieren Java Basics - Anfänger-Themen 2
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
P JFrame nur einmal öffnen Java Basics - Anfänger-Themen 4
D JFrame - 10 Sekunden bis zum schließen warten. Java Basics - Anfänger-Themen 2
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
J JPG in JFrame anzeigen lassen Java Basics - Anfänger-Themen 3
J JFrame ausgabe von Werten Java Basics - Anfänger-Themen 9
F GUI als Klasse oder extend JFrame? Java Basics - Anfänger-Themen 6
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
thomasbomme Grafikfehler JFrame- Cleartype Java Basics - Anfänger-Themen 1
GreyFox Arbeit mit JFrame Java Basics - Anfänger-Themen 8
T Erste Schritte 2 Codes zusammen fügen / Label in JFrame Java Basics - Anfänger-Themen 1
Z Zwei Images auf einem JFrame - Aber nur eins wird angezeigt! Java Basics - Anfänger-Themen 5
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
W 2 JPanels in 2Klasse in einem JFrame zusammenfügen Java Basics - Anfänger-Themen 12
dat_vin JFrame öffnet sich mehrmals Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
M Rahmen für undekorierten JFrame Java Basics - Anfänger-Themen 6
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
B Erste Schritte JFrame in Klasse auslagern Java Basics - Anfänger-Themen 4
H JFrame komplett schließen Java Basics - Anfänger-Themen 3
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
M hintergrund in jframe festlegen Java Basics - Anfänger-Themen 4
J JFrame Render Fehler - Warum? Java Basics - Anfänger-Themen 2
I komponenten werden in JFrame nicht richtig angezeigt Java Basics - Anfänger-Themen 1
E 2. JFrame erkennt 1. Frame Java Basics - Anfänger-Themen 6
D Best Practice JFrame im JFrame Java Basics - Anfänger-Themen 2
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
S Erste Schritte Von JFrame in nächstes JFRame wechseln Java Basics - Anfänger-Themen 0
V JFrame aktualisieren Java Basics - Anfänger-Themen 6
S JFrame ist nicht schwarz Java Basics - Anfänger-Themen 5
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S JFrame wird nicht "bemalt" Java Basics - Anfänger-Themen 2
M Unsichtbare Objekte in JFrame Java Basics - Anfänger-Themen 2
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
Sogomn JLabel in anderer Klasse zum JFrame hinzufügen Java Basics - Anfänger-Themen 2
B Drawline wird auf JFrame nicht angezeigt Java Basics - Anfänger-Themen 3
N Fokus setzen nachdem JFrame in Vordergrund geholt wurde Java Basics - Anfänger-Themen 7
K Methoden Objekt auf JFrame zeichnen Java Basics - Anfänger-Themen 16
S JFrame leeren Java Basics - Anfänger-Themen 6
X JFrame Fenster einzeln schließen Java Basics - Anfänger-Themen 2
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
D JFrame, Komponenten verschmiert. Java Basics - Anfänger-Themen 15
M Schriftfarbe in JFrame Java Basics - Anfänger-Themen 24
A JFrame läuft ewig? Java Basics - Anfänger-Themen 2
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
N JFrame-Objekt in neuer Methode nicht verfügbar? Java Basics - Anfänger-Themen 3
A Frage zu: JFrame setLocationRelativeTo Java Basics - Anfänger-Themen 3
N Erste Schritte Prozessor Kernanzahl in JFrame Java Basics - Anfänger-Themen 3
DStrohma Transparenter JFrame Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben