Wert ändert sich nicht

F

FranzFerdinand

Gast
Hallihallöle,

perfekt. Sieht etwas kompliziert aus, aber ich verstehe es. Da wäre ich nie drauf gekommen. Und auch Google war da nicht hilfreich.

Sodelle, aber ein kleines Problemle hab ich immer noch.
Schaut mal, so sieht meine Klasse aus:
Java:
package spiel;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Arrays;

import javax.swing.Timer;

public class Spielverlauf extends CafeRoot{
	private static final long serialVersionUID = 7888790160235600024L;

	public Spielverlauf() throws IOException{
		super(spielname);
	}
	
	public static void doseingabeverarbeitung() {
		doseingabe = jTextFieldDosEingabe.getText();
		doseingabepart.addAll(Arrays.asList(doseingabe.split(":")));
		if (doseingabepart.size() > 3) {
			eingabeinkorrekt(5000);
		}
	}
	
	public static void doseingabefenster() throws IOException, InterruptedException {
		doseingabeverarbeitung();
		doseingabeerfolgt = true;
		switch(doseingabepart.get(0).toLowerCase()) {
		case "neustart":
			Spielstart.neustart();
			break;
		case "beenden":
			Spielstart.beenden();
			break;
		case "gastkartebar":
			String information = doseingabepart.get(1);
			barkartennummer = Integer.parseInt(information);
			System.out.println(information);
                        barkarten();
			break;
		default: doseingabeerfolgt = false;
		}
		if(doseingabeerfolgt == true) {
			jTextFieldDosEingabe.setText("");
			doseingabeerfolgt = false;
			jLabelMeldung.setText("");
		} else {
		eingabeinkorrekt(5000);
		}
	}
	
	public static void eingabeinkorrekt(int timerzeit) {
		jLabelMeldung.setText("Deine Eingabe war inkorrekt!");
		new Timer(timerzeit, new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		jLabelMeldung.setText("");
		} } ).start();
	}
	
	public static void barkarten() {
		restbarplaetze -= 1;
		jListBarkartenModel.addElement(gastkarten.get(barkartennummer));
		System.out.println(barkartennummer);
		System.out.println(gastkarten.get(barkartennummer));
	}

}

Also ich habe eine Eingabebox namens "jTextFieldDosEingabe", die ihren Inhalt nach sofortigem eingeben und Enter klicken immer in String "doseingabe" umwandelt und ihn dann wie gesagt splittet. Wenn der Split mehr als Dreiteilig ist, weil ich maximal die Eingabe text1:text2:text3 zulasse, dann zeigt er an, dass die Eingabe falsch ist und löscht diese Ausgabe wieder nach 5 Sekunden. (siehe der 5000er Timer.)
Dieses Modell ist so, dass text1 immer der eigentliche Befehl ist, der herausgefiltert wird und text2 und text3 dann irgendwelche Parameter sind, auf die er reagieren soll, wenn 1. erkannt wurde.
Das mache ich mit dem Switch-Case:
Java:
switch(doseingabepart.get(0).toLowerCase()) {
Wie man sehen kann, wird beispielsweise wenn ich "neustart" eingebe die Klasse Spielstart.neustart() aufgerufen. Die startet mein Spiel neu. Ist nicht weiter wichtig. Es geht natürlich auch neustart:443:fsd, weil er nur das neustart als essentielle Eigenschaft braucht.

Wichtig ist jetzt folgendes:
Java:
case "gastkartebar":
			String information = doseingabepart.get(1);
			barkartennummer = Integer.parseInt(information);
			System.out.println(information);
                        barkarten();
			break;

Ich habe eine Liste mit gastkarten, die 100 Elemente enthält, die ich irgendwann im Spiel schon mal generiert habe, die auch nutzbar ist.
Und wenn ich den Befehl gastkartebar:x ausführe, soll er bitte das x-te Element dieser Liste rausfischen und es in mein jListBarkartenModel einfügen.

Wie man den dem Quelltext sieht, sucht er sich erst das Schlüsselwort gastkartebar raus.
Dann sucht er sich die Zahl raus, die dahinter stand (Element 1)und schreibt sie in den String information. Selbigen wandle ich dann in einen Integer um, namens barkartennummer.

So und dann rufe ich die barkarten()-Methode auf.

Java:
public static void barkarten() {
		restbarplaetze -= 1;
		jListBarkartenModel.addElement(gastkarten.get(barkartennummer));
		System.out.println(barkartennummer);
		System.out.println(gastkarten.get(barkartennummer));
	}
Die soll dann bitte bitte das Element aus der gastkarten-Liste in die jList einfügen. Dazu gettet er dann meine barkartennummer.

====
Das Problem: Das aller erste Mal läuft das alles rund und er macht bei gastkartebar:5 auch brav das 5te (genau genommen das 6te) Element rein.
Danach kann man aber eingeben, was man möchte, er macht dann immer das von vorher.
Wenn ich jetzt gastkartebar:47 eingebe, fügt er wieder das 5. ein. Und wieder und wieder. Er hat sich auf das allererste festgesetzt.
Nur nach nem Neustart des Programms kann ich wieder ein neues Element festlegen, worauf er sich festnagelt.

Mit System.out.println lasse ich mir die Nummer ausgeben, er sagt dann auch in der Konsole immer 5.


Wo hab ich jetzt was nicht durchdacht?

Schöner Gruß
Lukas
 

Harry Kane

Top Contributor
Ich finde in deiner Spielverlauf -Klasse nirgends die Deklaration von barkartennummer (und übrigens auch nicht von jLabelMeldung und einer Reihe anderer Variablen). Wo kommen sie her? Da du sie in einer statischen methode verwendest, ist sie offenbar auch statisch. Fragt sie nur, in welcher Klasse sie letztlich angelegt wurde.
Ausserdem sind die anderen Methoden in deiner Spielverlauf-Klasse statisch. Nach OO sieht das nicht aus.
Alles in allem zu wenig Informationen für eine genauere Analyse.
 
F

FranzFerdinand

Gast
Hallo,

sorry, sorry, ich hab so viel geschrieben, irgendetwas habe ich vergessen.
Ich wollte noch sagen, dass das nur eine Nebenklasse namens "Spielverlauf" ist. Die Hauptklasse "CafeRoot" definiert die ganzen Variablen.
Java:
package spiel;

import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.IOException;
import java.util.*;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

/**
  * @version 1.5.5 Spielstart & Kartenmischen, Namensabfrage, Windoof-Veraltungsabfrage sowie Spielstandsabspeicherung und Neustartfunktion
  * Neuerungen:
  * 1.5.1: Auslagerung in Startmethoden "Spielstart" und effektivierer Reader eingebaut
  * 1.5.2: Hinzufügen einer jList für die Länderkarten
  * 1.5.3: Umfangreiche Neugenerierung der Länder-Tisch-Karten und Abbildung in einer jList
  * 1.5.4: Abspeichern der Länderkarten
  * 1.5.5: DOS-Befehlszeile eingeführt und Neustart- sowie Schließen-Methode ausgelagert
  * @author Lukas Schramm
  */

public class CafeRoot extends JFrame {
  
  //private Spielstart start; 

  protected static final long serialVersionUID = 2463407896592093246L;
  // Anfang Attribute
  protected static String spielname = "Café International";
  protected static String OS = System.getProperty("os.name").toLowerCase();
  protected static int spielangefangen = 0;
  protected static int restkartentisch = 0;
  protected static int restkartengast = 0;
  protected static int restbarplaetze = 0;
  protected static int handkartenspieler1 = 0;
  protected static int handkartenspieler2 = 0;
  protected static int punktespieler1 = 0;
  protected static int punktespieler2 = 0;
  protected static int spieler = 0;
  protected static String spielername1 = "Spieler 1";
  protected static String spielername2 = "Spieler 2";
  protected static List<Gastkarte> gastkarten = new ArrayList<Gastkarte>();
  protected static List<Laenderkarte> laenderkarten = new ArrayList<Laenderkarte>();
  protected static JList<Gastkarte> jListGastkarten = new JList<Gastkarte>();
  protected static DefaultListModel<Gastkarte> jListGastkartenModel = new DefaultListModel<Gastkarte>();
  protected static JScrollPane jListGastkartenScrollPane= new JScrollPane(jListGastkarten);
  protected static JLabel jLabelRestkartenTisch = new JLabel();
  protected static JLabel jLabelRestkartenGast = new JLabel();
  protected static JLabel jLabelRestbarplaetze = new JLabel();
  protected static JLabel jLabelHandkartenSpieler1 = new JLabel();
  protected static JLabel jLabelHandkartenSpieler2 = new JLabel();
  protected static JLabel jLabelPunkteSpieler1 = new JLabel();
  protected static JLabel jLabelPunkteSpieler2 = new JLabel();
  protected static JLabel jLabelSpieler = new JLabel();
  protected static JLabel jLabelMeldung = new JLabel();
  protected static boolean spielernamenkorrekt = false;
  protected static boolean neuesspielbutton = false;
  protected static JButton jButtonNeustart = new JButton();
  protected static JList<Laenderkarte> jListLaenderkarten = new JList<Laenderkarte>();
  protected static DefaultListModel<Laenderkarte> jListLaenderkartenModel = new DefaultListModel<Laenderkarte>();
  protected static JScrollPane jListLaenderkartenScrollPane = new JScrollPane(jListLaenderkarten);
  protected static JList<Gastkarte> jListBarkarten = new JList<Gastkarte>();
  protected static DefaultListModel<Gastkarte> jListBarkartenModel = new DefaultListModel<Gastkarte>();
  protected static JScrollPane jListBarkartenScrollPane= new JScrollPane(jListBarkarten);
  protected static JTextField jTextFieldDosEingabe = new JTextField();
  protected static String doseingabe = "";
  protected static boolean doseingabeerfolgt = false;
  protected static ArrayList<String> doseingabepart = new ArrayList<String>();
  protected static int barkartennummer = 0;
  protected static String information = "";
  // Ende Attribute
  
  public CafeRoot(String title) throws IOException {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    //Properties neuesspiel = Spielstart.loadProperties("neuesspiel.txt");
    Properties spielstand = Spielstart.loadProperties("spielstand.txt");
    int frameWidth = 600;//506 
    int frameHeight = 600;//434
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    setTitle(spielname);
    setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    setLocationRelativeTo(null);
    cp.setLayout(null);
    
    // Anfang Komponenten
    Komponenten.komponenten(cp);
    //=============================
    String string_spielangefangen = spielstand.getProperty("spielangefangen", "0");
    int spielangefangen = Integer.parseInt(string_spielangefangen);
    if (Spielstart.isWindows()) {
        JOptionPane.showMessageDialog(null, "Dein System ist hoffnungslos veraltet!\nWindoof ist nicht kompatibel mit diesem Spiel.\nSollte es zu Problemen bei der Ausführung kommen,\ndann öffne das Spiel bitte auf einem PC\nmit Mac OS oder Linux!", "System veraltet", JOptionPane.WARNING_MESSAGE);
        System.out.println("Ein veraltetes System \"Windows\" wurde entdeckt");
        }
    if(spielangefangen == 0) {
    	do{
    		Spielstart.namensfrage();
    	}while(spielernamenkorrekt == false);
    	System.out.println("Spieler 1 heißt: "+spielername1);
        System.out.println("Spieler 2 heißt: "+spielername2);
        Spielstart.neuesspiel();
        Spielstart.gastkartenmischen();
        Spielstart.laenderkartenmischen();
    }
    else{
    	Spielstart.spielstand();
    }
    
    
    // Ende Komponenten
    
    setVisible(true);
    addWindowListener(new MyWindowListener(this, spielstand));
    //=============================
    
    Random wuerfel1 = new Random(); //Würfeltest
    int wuerfel = wuerfel1.nextInt(49)+1; //Würfeltest
    System.out.println(wuerfel);
  }
  
  // Anfang Methoden
  
  public static void jButtonNeustart_ActionPerformed(ActionEvent evt) throws IOException {
	  Spielstart.neustart();
  }
 
  // Ende Methoden
  
  public static void main(String[] args) throws IOException {
    new CafeRoot("CafeRoot");
  } // end of main 
  public class MyWindowListener implements WindowListener {
    private CafeRoot cRoot;
    
    public MyWindowListener(CafeRoot cRoot,Properties spielstand) {
      this.cRoot = cRoot;
    }
    
    @Override
    public void windowActivated(WindowEvent arg0) { }
    
    @Override
    public void windowClosed(WindowEvent arg0) {
      cRoot.setVisible(false);  
    }
    
    @Override
    public void windowClosing(WindowEvent evt) {
      try {
		Spielstart.beenden();
      } catch (IOException e) {
		e.printStackTrace();
      }
    }
    
    @Override
    public void windowDeactivated(WindowEvent arg0) { }
    @Override
    public void windowDeiconified(WindowEvent arg0) { }
    @Override
    public void windowIconified(WindowEvent arg0) { }
    @Override
    public void windowOpened(WindowEvent arg0) { }
    
    
  }
} // end of class CafeRoot

Das sind jetzt alle im ganzen Projekt. Die relevanten sollten zumeist ganz unten sein, weil sie die neuesten sind. :)

Gruß
Lukas ;)
 
Zuletzt bearbeitet von einem Moderator:
F

FranzFerdinand

Gast
Huch, das ist mir jetzt peinlich, ich habe den Fehler. :D

Etwas kollateral dummer Fehler. Ich hatte jetzt ohne groß nachzudenken gedacht, wenn ich da neuen Text eingebe, wird die ArrayList geleert und neu befüllt.
Wie beispielsweise das n bei ner For-Schleife:
Java:
for(int n=0;n<42;n++)

Aber okay,der ergänzt ja bei jeder Ausführung des Codes mit add nur weitere Elemente. Die ersten beiden bleiben ja immer, deshalb hat er immer den gleichen Text ausgeführt.

Das hier am Anfang schafft Abhilfe:
Java:
doseingabepart.clear();

Es wundert mich nur, warum meine Überprüfung hier, direkt danach den Fehler nicht abgefangen hat:
Java:
if (doseingabepart.size() > 3) {
			eingabeinkorrekt(5000);
		}
Weil schon beim zweiten mal, sind 2+2 schon größer als 3...
Naja, das find ich noch heraus.

Danke schön und einen schönen Abend noch!

Bussy
Lukas
 

Harry Kane

Top Contributor
Java:
if (doseingabepart.size() > 3) {
			eingabeinkorrekt(5000);
		}
Weil schon beim zweiten mal, sind 2+2 schon größer als 3...
Ich habe zwar noch nie mit Swing-Timern gearbeitet, aber so wie ich die Doku verstehe, liegt ihr Vorteil darin, dass sie während des Delays nicht den EDT blockieren und die Gui somit nicht einfriert. Die Aktionen, die sie in ihrer actionPerformed-Methode ausführen, laufen aber weiterhin auf dem EDT, wie überhaupt alle Actions, die Swing Komponenten verändern, auf dem EDT laufen müssen. Wenn du deine eingabekorrekt-Methode ebenfalls auf dem EDT ausführst, z. B. wenn sie vom ActionListener eines JButtons gestartet wird, sollten die Kommandos in der actionPerformed() des Timers erst aufgerufen werden, wenn der ActionListener des JButtons bzw. seine actionPerformed() fertig ist.
Dann sollte in etwa folgendes passieren:
- in der eingabekorrekt wird der text des JLabels auf deinen Hinweis geändert. Ein entsprechender Event wird in die EventQueue eingespeist.
- Der Timer läuft los und ändert nach 5 Sekunden den Text wieder auf "". Es wird wieder ein entsprechender Event kreiert.
- Die actionPerformed() die den ganzen Kram losgetreten hat, wird beendet. Die Events in der Queue werden abgearbeitet. Zunächst wird der JLabel-Text auf deinen Hinweis gesetzt und die Gui repaianted. Wenn die 5 s Wartezeit schon abgelaufen sind, wird allerdings sofort der Text wieder auf "" gesetzt. Ev. ist die EventQueue sogar so schlau, daß sie merkt, daß der 2. Event das Ergebnis des 1. aufhebt, und den 1. Event aus der Queue schmeisst.
Wie wärs wenn du einen modalen Dialog einblendest, der sich nach einer Wartezeit selber disposed? Oder eine Sprachausgabe:D?
 

Joose

Top Contributor
[ot]
Habe diese Beiträge in einen eigenen Thread verschoben, da es nichts mehr mit dem ursprünglichen Problem des anderen Threads zu tun hatte!
Bitte achtet darauf pro Thread nur ein Problem zu behandeln!
[/ot]
 
F

FranzFerdinand

Gast
Hallöle,

eine Frage dazu hätte ich dann doch nochmal:
Der Quellcode sucht sich nach dem Modell text1:text2:text3 in dem Switch Case Teil ja den Inhalt von Text1 heraus. In dem Fall ist das "gastkartebar".
Dann guckt er nach dem Doppelpunkt bei Element text2, welche Zahl da steht und verarbeitet das weiter.
Nun gibt es aber noch zwei Fehlermöglichkeiten:
text2 ist keine Zahl oder text2 ist gar nicht vorhanden.
Das heißt, wenn ich gastkartebar:gdgf eingebe, kommt eine Fehlermeldung und wenn ich gastkartebar: eingebe kommt auch eine. Weil ich ja das Element mit parseInt in einen Integer umwandeln möchte.

Ich habe nun versucht beides abzufangen. Das sieht nun so aus:
Java:
case "gastkartebar":
			information = doseingabepart.get(1);
			try{
				barkartennummer = Integer.parseInt(information);
			}
			catch(NumberFormatException e){
				eingabeinkorrekt(5000); return;
			}
			catch(IndexOutOfBoundsException f){
				eingabeinkorrekt(5000); return;
			}
			System.out.println(information);
			barkarten();
			break;

Aber der Stand der Dinge ist so, dass nur das erste Element seine spezifischen Fehler abfängt. Also wenn ich gastkartebar:dashieristkeinezahl schreibe, bricht er das wie gewollt ab. Aber der zweite Block arbeitet nicht.
ich bekomme weiterhin, wenn hinter dem Doppelpunkt steht eine IndexOutOfBoundsException.
Code:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
	at java.util.ArrayList.get(ArrayList.java:429)
	at spiel.Spielverlauf.doseingabefenster(Spielverlauf.java:37)
	at spiel.Spielverlauf.doseingabeverarbeitung(Spielverlauf.java:24)
	at spiel.Komponenten$2.actionPerformed(Komponenten.java:63)
	at javax.swing.JTextField.fireActionPerformed(JTextField.java:508)
	at javax.swing.JTextField.postActionEvent(JTextField.java:721)
	at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2879)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2926)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2842)
	at java.awt.Component.processEvent(Component.java:6302)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
	at java.awt.Component.dispatchEventImpl(Component.java:4752)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Kann mir jemand erklären, wieso das so ist?

Der aktuelle Quellcode ist:
Java:
package spiel;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Arrays;

import javax.swing.Timer;

public class Spielverlauf extends CafeRoot{
	private static final long serialVersionUID = 7888790160235600024L;

	public Spielverlauf() throws IOException{
		super(spielname);
	}
	
	public static void doseingabeverarbeitung() throws IOException, InterruptedException {
		doseingabe = jTextFieldDosEingabe.getText();
		doseingabepart.clear();
		doseingabepart.addAll(Arrays.asList(doseingabe.split(":")));
		if (doseingabepart.size() > 3) {
			eingabeinkorrekt(5000); return;
		}
		doseingabefenster();
	}
	
	public static void doseingabefenster() throws IOException, InterruptedException {
		doseingabeerfolgt = true;
		switch(doseingabepart.get(0).toLowerCase()) {
		case "neustart":
			Spielstart.neustart();
			break;
		case "beenden":
			Spielstart.beenden();
			break;
		case "gastkartebar":
			information = doseingabepart.get(1);
			try{
				barkartennummer = Integer.parseInt(information);
			}
			catch(NumberFormatException e){
				eingabeinkorrekt(5000); return;
			}
			catch(IndexOutOfBoundsException f){
				eingabeinkorrekt(5000); return;
			}
			System.out.println(information);
			barkarten();
			break;
		default: doseingabeerfolgt = false;
		}
		if(doseingabeerfolgt == true) {
			jTextFieldDosEingabe.setText("");
			doseingabeerfolgt = false;
			jLabelMeldung.setText("");
		} else {
		eingabeinkorrekt(5000); return;
		}
	}
	
	public static void eingabeinkorrekt(int timerzeit) {
		jLabelMeldung.setText("Deine Eingabe war inkorrekt!");
		new Timer(timerzeit, new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		jLabelMeldung.setText("");
		} } ).start();
	}
	
	public static void barkarten() {
		restbarplaetze -= 1;
		jLabelRestbarplaetze.setText("Barplätze übrig: "+restbarplaetze);
		jListBarkartenModel.addElement(gastkarten.get(barkartennummer));
		System.out.println(barkartennummer);
		System.out.println(gastkarten.get(barkartennummer));
	}

}

Schöne Grüße
Lukas
 

Harry Kane

Top Contributor
Die split-Methode von Strinsg erlaubt es, zusätzlich zu dem zeichen an dem gesplittet werden sol, einen int Parameter einzugeben, mit dem die Größe des zurückgelieferten Arrays begrenzt werden kann. Nur wenn ein Wert < 0 verwendet wird, wird auch an aufeinanderfolgenden Trennzeichen oder bei Trennzeichen zu Beginn und am Ende des Strings getrennt, und im Ergebnisarray stehen dann Leerstrings.
In deinem Fall würde dier Exception unterbleiben, wenn du den String "gastkartebar:" mit doseingabe.split(":", -1) splittest. Bei Eingabe von "gasthartebar" würde auch das nichts helfen. Daher würde ich vorschlagen, dass du in deiner doseingabefenster-Methode die Zeile information = doseingabepart.get(1); in den try-Block schreibst.
 
F

FranzFerdinand

Gast
Hallöle,

die Variante mit der -1 funktioniert bei mir nicht, wie es soll. Der filtert dann ALLES raus, egal wie ich es eingebe.
Aber ansonsten hat es geholfen das mit in den Try Block zu schreiben.
Und da die Funktionen leider immer weiter führen und in weitere Methoden führen, muss ich das dann dort auch immer hinschreiben, traurige Sache... :(

Achso und ich musste noch das hier einbauen:
[Java]if(!(barkartennummer > 99 || barkartennummer < 1)) {[/code]
Gibt ja nur 100 Gastkarten. Sonst macht Java auch Problemchen...

Danke schön!

Gruß
Lukas :)
 
F

FranzFerdinand

Gast
Huch, ähm, doch nicht. Es ist eine Farce. Ich arbeite zuhause mit Mac und Linux und in der Schule mit Windoof. Immer wenn ich es irgendwo hinbekommen habe, macht er es am entgegengesetzten Ort anders. Also vorhin hat es noch geklappt.


Mein aktueller Quelltext ist jetzt dieser:
Java:
package spiel;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.*;
import javax.swing.Timer;

public class DosEingabe extends CafeRoot{
	private static final long serialVersionUID = -4405571455280382266L;

	public DosEingabe() throws IOException{
		super(spielname);
	}
	
	public static void doseingabeverarbeitung() throws IOException, InterruptedException {
		doseingabe = jTextFieldDosEingabe.getText();
		doseingabepart.clear();
		doseingabepart.addAll(Arrays.asList(doseingabe.split(":")));
		if (doseingabepart.size() > 3) {
			eingabeinkorrekt(5000); return;
		}
		doseingabefenster();
	}
	
	public static void doseingabefenster() throws IOException, InterruptedException {
		doseingabeerfolgt = true;
		switch(doseingabepart.get(0).toLowerCase()) {
		case "neustart":
			Spielstart.neustart();
			break;
		case "beenden":
			Spielstart.beenden();
			break;
		case "gastkartebar":
			try{
				information = doseingabepart.get(1);
				barkartennummer = Integer.parseInt(information);
			}
			catch(NumberFormatException e){
				e.printStackTrace();
				eingabeinkorrekt(5000); return;
			}
			catch(IndexOutOfBoundsException f){
				f.printStackTrace();
				eingabeinkorrekt(5000); return;
			}
			if(!(barkartennummer > 5 || barkartennummer < 1)) {
				Punkte.barkarten();
			}else{
				eingabeinkorrekt(5000); return;
			}
			break;
			//Wichtige Anmerkung: Er fügt lediglich die Elementnummer von 0 bis 99 hinzu.
			//In Zukunft müssten dies jedoch die Karten 0 bis 4 des Spielers sein!
		default: doseingabeerfolgt = false;
		}
		if(doseingabeerfolgt == true) {
			jTextFieldDosEingabe.setText("");
			doseingabeerfolgt = false;
			jLabelMeldung.setText("");
		} else {
		eingabeinkorrekt(5000); return;
		}
	}
	
	public static void eingabeinkorrekt(int timerzeit) {
		jLabelMeldung.setText("Deine Eingabe war inkorrekt!");
		new Timer(timerzeit, new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		jLabelMeldung.setText("");
		} } ).start();
	}

}

Das Format, was einzugeben ist, ist
Soll eine Nummer von 1 bis 5 sein. (war mal 1 bis 100)

Die vier Fehlerquellen sind nun:
a) Die Zahl ist nicht im Bereich 1 bis 5
b) Die Zahl ist kein int, sondern ne Kommazahl
c) da steht ein String und keine Zahl
d) da steht gar nichts.

Nur fall a ist bisher abgefangen.
Wieder erwarten, hat Java das hier tatsächlich begriffen:
Java:
if(!(barkartennummer > 5 || barkartennummer < 1)) {
				Punkte.barkarten();
			}else{
				eingabeinkorrekt(5000); return;
			}

Aber die Fälle B bis D, eine Farce...

Mal so als Beispiele:
B) Wenn ich da "gastkartebar:5,5" schreibe, kommt dieser Fehler:
Code:
java.lang.NumberFormatException: For input string: "5,5"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at spiel.DosEingabe.doseingabefenster(DosEingabe.java:38)
	at spiel.DosEingabe.doseingabeverarbeitung(DosEingabe.java:23)
	at spiel.Komponenten$2.actionPerformed(Komponenten.java:63)
	at javax.swing.JTextField.fireActionPerformed(JTextField.java:508)
	at javax.swing.JTextField.postActionEvent(JTextField.java:721)
	at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2879)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2926)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2842)
	at java.awt.Component.processEvent(Component.java:6302)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
	at java.awt.Component.dispatchEventImpl(Component.java:4752)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

C) Wenn ich da zum Beispiel nen String angebe "gastkartebar:xyz", dann kommt das hier:
Code:
java.lang.NumberFormatException: For input string: "xyz"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at spiel.DosEingabe.doseingabefenster(DosEingabe.java:38)
	at spiel.DosEingabe.doseingabeverarbeitung(DosEingabe.java:23)
	at spiel.Komponenten$2.actionPerformed(Komponenten.java:63)
	at javax.swing.JTextField.fireActionPerformed(JTextField.java:508)
	at javax.swing.JTextField.postActionEvent(JTextField.java:721)
	at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2879)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2926)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2842)
	at java.awt.Component.processEvent(Component.java:6302)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
	at java.awt.Component.dispatchEventImpl(Component.java:4752)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

D) Und letztes Beispiel, wenn da gar nichts hinter steht: "gastkartebar:" oder "gastkartebar"
Code:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
	at java.util.ArrayList.get(ArrayList.java:429)
	at spiel.DosEingabe.doseingabefenster(DosEingabe.java:37)
	at spiel.DosEingabe.doseingabeverarbeitung(DosEingabe.java:23)
	at spiel.Komponenten$2.actionPerformed(Komponenten.java:63)
	at javax.swing.JTextField.fireActionPerformed(JTextField.java:508)
	at javax.swing.JTextField.postActionEvent(JTextField.java:721)
	at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2879)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2926)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2842)
	at java.awt.Component.processEvent(Component.java:6302)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
	at java.awt.Component.dispatchEventImpl(Component.java:4752)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Und ich verstehe das jetzt wirklich nicht. Wieso zeigt er denn immer noch "IndexOutOfBoundsException" oder "NumberFormatException" an, obwohl das da im try-catch steht?

Gruß
Lukas :)
 

VfL_Freak

Top Contributor
Moin,

mal kurz zur IOOB-Exception:
Dir wird angezeigt: Index: 1, Size: 1

Die Länge eines Arrays wird immer von '0' bis 'Länge - 1 ' referenziert!!

Also ist bei Länge '1' nur Index '0' zugreifbar und alles andere führt zur Exception!

Gruß
Klaus
 

Harry Kane

Top Contributor
Oh Mann....
Natürlich "kommt der Fehler". Das Abfangen von Exceptions bedeutet ja nicht, daß die Exceptions danach nicht mehr auftreten, sondern daß sie korrekt behandelt werden und keinen unkontrollierten Schaden anrichten können.
Du hast es doch selber so programmiert, daß die stack traces ausgegeben werden!
Oder ev. ja nicht, sondern jemand hat dir den Code gegeben und du verstehst ihn nicht :bahnhof:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Wert in ArrayList ändert sich ohne wissentliches zutun Allgemeine Java-Themen 6
J Wie kann man herausfinden, wo der Wert herkommt ? Allgemeine Java-Themen 13
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S Wert zuweisung Allgemeine Java-Themen 1
Alex_99 Rechner: Wert zwischenspeichern und bei Bedarf mit Ihm weiterrechnen? Allgemeine Java-Themen 6
J Wo kommt der Wert der Variable her ? Allgemeine Java-Themen 6
Tiago1234 CellReference cr = new CellReference("") gibt den falschen Wert zurück Allgemeine Java-Themen 49
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
L String zu repräsentativen Wert Allgemeine Java-Themen 0
S Drools: Zählen wie oft ein Wert vorkommt Allgemeine Java-Themen 1
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
T Wert an laufenden Java-Prozess übergeben Allgemeine Java-Themen 10
A Variablen Funktion übergibt den Wert nicht Allgemeine Java-Themen 13
P JSpinner gibt leeren Wert zurück Allgemeine Java-Themen 5
KeexZDeveoper Nächstgelegenden Wert ermitteln Allgemeine Java-Themen 5
C Variablen Variablen mit unendlichem Wert Allgemeine Java-Themen 22
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
A Mit dem letzten bis zum ersten Wert aus Array rechnen Allgemeine Java-Themen 15
T Array - Wert am nächsten zur vollen Sekunde Allgemeine Java-Themen 20
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
G Methoden BMI -Wert Aufgabe(Methoden) Allgemeine Java-Themen 4
E JavaFX String-Wert geht "verloren" - ratlos Allgemeine Java-Themen 2
A In Excel-Datei schreiben, Formeln der Mappe anwenden, Wert lesen Allgemeine Java-Themen 3
R Int Wert im Dialogfeld ändern Allgemeine Java-Themen 4
B [Android] EditText-Object ist null - Nimmt nicht den Wert des enthaltenen Textfeldes ein Allgemeine Java-Themen 2
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
H Bestimmten Wert aus String parsen Allgemeine Java-Themen 7
M HashMaps: Wert erweitern Allgemeine Java-Themen 3
C Object.equals() liefert falschen Wert? Allgemeine Java-Themen 14
M Parallele Programmierung: volatile Variable nimmt ungewöhnlichen Wert an Allgemeine Java-Themen 3
T Datentypen ArrayUtils.indexOf( ... ) liefert -1 obwohl Wert scheinbar enthalten ist Allgemeine Java-Themen 15
H Speziellen Wert aus String filtern Allgemeine Java-Themen 4
M JExcel Wert aus Zelle übergeben/ausgeben Allgemeine Java-Themen 2
iB0T Variable Wert ausrauchen Allgemeine Java-Themen 3
iB0T "goto" Befehl aus Batch in Java und Variablen wert immer wieder neu setzen Allgemeine Java-Themen 4
G Z Wert - 3 Dimensionaler Punkt Allgemeine Java-Themen 13
S JPA und Entity-Klassen: Wert ungültig Allgemeine Java-Themen 6
C .Ini-Datei Wert Änderungen werden nicht angenommen Allgemeine Java-Themen 3
J String mit "," in Double Wert konvertieren Allgemeine Java-Themen 7
A nur einen Wert aus einer .conf lesen und erneuern Allgemeine Java-Themen 3
I getResponseCode(); returnt einen falschen Wert? Allgemeine Java-Themen 7
N Applet Apache Poi Wert einer Formel ausgeben Allgemeine Java-Themen 5
G Input/Output Manuelle Änderung von Wert in Swing Komponente bemerken! Allgemeine Java-Themen 2
S Newton-Verfahren liefert nur 1 Wert Allgemeine Java-Themen 3
E Wert von enum zur Laufzeit festlegen. Allgemeine Java-Themen 5
E Wert in andere Klasse übernehmen Allgemeine Java-Themen 4
X this.val$WERT Was ist den das? Allgemeine Java-Themen 2
K Scanner - große Textfile, nur 0 ab betim. Wert Allgemeine Java-Themen 4
S Daten in Array als INT-Wert einlesen - jetzt als csv Datei Allgemeine Java-Themen 5
T OLE-Automation mit Excel (Wert übergabe) Allgemeine Java-Themen 1
Benji0815 Wert in GUI aktualisieren, Beobachter Allgemeine Java-Themen 9
O Hash Wert von Passwörter erstellen (SHA) Allgemeine Java-Themen 9
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
S Methode übergibt immer den gleichen Wert Allgemeine Java-Themen 21
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
M Bit Wert umdrehen Allgemeine Java-Themen 5
J ArrayList aus Point-Objekten nach dem x-Wert ordnen Allgemeine Java-Themen 2
B Wert mit Adresse auslesen Allgemeine Java-Themen 11
S Array: Anzahl Elemente mit best. Wert zählen Allgemeine Java-Themen 4
M Ein Array-Wert soll sich verändern, aber 2 tun es? Allgemeine Java-Themen 7
S Prüfen auf Hex-Wert fester Länge! Allgemeine Java-Themen 5
G transientes Objekt mit Wert initialisieren? Allgemeine Java-Themen 7
J in einer static Variable Wert ändern Allgemeine Java-Themen 6
reibi double-Wert auf 2 Stellen nach dem Komma abschneiden Allgemeine Java-Themen 6
S CRC wert berechnen ergibt 0 ? Allgemeine Java-Themen 9
MQue Float- Wert formatieren Allgemeine Java-Themen 8
A Private-Wert eines Objekts auslesen Allgemeine Java-Themen 9
R Wert von einer Klasse in eine andere bekommen Allgemeine Java-Themen 6
J Integer Array Wert vorhanden? Allgemeine Java-Themen 6
O System.nanoTime() einheitlichen Wert auf mehreren Rechnern? Allgemeine Java-Themen 9
H JTable Wert verändern Allgemeine Java-Themen 3
S den zweit niedrigsten wert in einem array berechnen Allgemeine Java-Themen 2
J variablen wert ändernung mit einer art actionlistener? Allgemeine Java-Themen 4
J Vector - Wert ersetzen Allgemeine Java-Themen 14
H Zugriff auf Wert einer Umgebungsvariablen Allgemeine Java-Themen 2
H JSF - Wert an ein managed bean übergeben Allgemeine Java-Themen 2
H boolean wert ändern Allgemeine Java-Themen 2
R Wert in Hashtable ändern (Key ändern, Value bleibt) Allgemeine Java-Themen 3
G Wandeln von Char Wert in Zeichen? Allgemeine Java-Themen 2
B Java Klasse muß in Terminal einen Wert zurückgeben. Allgemeine Java-Themen 3
R ascii-wert zuweisung Allgemeine Java-Themen 4
B Wert zuweisen bei deklaration? Allgemeine Java-Themen 9
C ImageIO die read-Methode liefert mir ein null- Wert zurück Allgemeine Java-Themen 10
A Float-Wert auf 2 Stellen nach den Komma runden ? Allgemeine Java-Themen 2
B Double-Wert aus einem HexString erstellen. Allgemeine Java-Themen 11
B Wie bekomme ich den Wert aus der For-Schleife? Allgemeine Java-Themen 5
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
A Drucken ändert aktuelles Verzeichnis Allgemeine Java-Themen 2
T JProgressbar ändert werte nicht Allgemeine Java-Themen 28
M Setter-Methode wird aufgerufen aber ändert nichts? Allgemeine Java-Themen 8
G TreeSet ändert sich bei Änderungen nicht! Allgemeine Java-Themen 15
A Variable ändert sich nicht Allgemeine Java-Themen 15
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0

Ähnliche Java Themen

Neue Themen


Oben