Ausgabe einer ArrayList auf einem Label

marvx6

Mitglied
Hallo Leute,

ich möchte einen String auf einem Label, nachdem klicken auf einen Button ausgeben.

Der String wird durch eine Methode erzeugt. Wenn man das ganze in der Konsolel vorher testet,
klappt das alles perfekt, sobald man aber es mit dem Button versucht, hauts ne Fehlermeldung.

Hier erst mal der Code.
Java:
package phrase;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class start {

	static ArrayList<String> nomenList = new ArrayList<String>();
	static ArrayList<String> adjektiveList = new ArrayList<String>();
	static ArrayList<String> verbenList = new ArrayList<String>();
	static ArrayList<String> objekteList = new ArrayList<String>();

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		try {

			BufferedReader inNomen = new BufferedReader(new FileReader(
					"Nomen.txt"));
			String zeileNomen = null;

			BufferedReader inVerben = new BufferedReader(new FileReader(
					"Verben.txt"));
			String zeileVerben = null;

			BufferedReader inAdjektive = new BufferedReader(new FileReader(
					"Adjektive.txt"));
			String zeileAdjektive = null;

			BufferedReader inObjekte = new BufferedReader(new FileReader(
					"Objekte.txt"));
			String zeileObjekte = null;

		while ((zeileNomen = inNomen.readLine()) 	     != null
			&& (zeileVerben = inVerben.readLine())      != null
			&& (zeileAdjektive = inAdjektive.readLine())!= null
			&& (zeileObjekte = inObjekte.readLine())    != null){

						nomenList.add(zeileNomen);
						adjektiveList.add(zeileAdjektive);
						objekteList.add(zeileObjekte);
						verbenList.add(zeileVerben);
			}

		} catch (IOException e) {
			e.printStackTrace();
		}System.out.println(getSent());

	}// main

	public static String getSent() {

		String s = "";
		String n = "";
		String v = "";
		String a = "";
		String o = "";
		
		double mathVerben    = Math.random() * verbenList.size();
		double mathAdjektive = Math.random()	* adjektiveList.size();
		double mathObjekte   = Math.random() * objekteList.size();

		n = nomenList.get((int)mathVerben);
//		.get((int)mathVerben);
//		v = verbenList.get((int)mathVerben)); + " "
//		+ adjektiveList.get((int) mathAdjektive) + " "
//		+ objekteList.get((int) mathObjekte) + "\n");

		return n;
	}// getSent

}

Das ganze läuft so ab, dass ich mit einem Buffered Reader mir zeilenweise die Daten hohle und dann in einer ArrayList abspeichere.

Hier mal die GUI.
Java:
package phrase;

import java.awt.EventQueue;

public class monitor {

	private JFrame frame;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					monitor window = new monitor();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public monitor() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 450, 300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		final JLabel lblNewLabel = new JLabel("New label");
		lblNewLabel.setBounds(114, 51, 176, 40);
		frame.getContentPane().add(lblNewLabel);
		
		JButton btnClick = new JButton("click");
		btnClick.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			
				lblNewLabel.setText(start.getSent());
				
			}
		});
		btnClick.setBounds(170, 228, 89, 23);
		frame.getContentPane().add(btnClick);
		
		
	}
}

Und jetzt der Fehlertext.
Code:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.RangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at phrase.start.getSent(start.java:65)
	at phrase.monitor$2.actionPerformed(monitor.java:57)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Er scheint meine Funktion nicht zu mögen, diese klappt jedoch auf der Konsole auch ??

Hab schon rumgespielt mit dem Code also nicht durch die sinnlosen Variablen in der Funktion irritieren lassen.

Wäre klasse wenn ihr mir helfen könntet.

VG

Marvin
 

KrokoDiehl

Top Contributor
Ist doch relativ klar: Die Liste ist leer (
Code:
size() == 0
) und du greifst mit Index 0 zu. In der
Code:
getSent()
musst du den Fall der leeren Liste(n) abfangen.

Ach so, dass es da klappt und hier nicht, könnte daran liegen dass die Laufzeitumgebung (v.a. Arbeitsverzeichnis) anders ist und er so die Dateien nicht findet?
 

marvx6

Mitglied
Also die Array-List ist aber nur leer, wenn ich mir das ganze auf dem Label ausgeben lassen möchte.

Wenn ich das ja in der Konsole mache ist die gefüllt. Jetzt ist natürlich die Frage warum es beim Label nicht klappt.

Da ich mich erst seit neustem mit der GUI beschäftigte bin ich da ziemlich ratlos...

Weißt du evtl. wie man das Lösen könnte ?

VG
 

X5-599

Top Contributor
Na ganz einfach weil du beim ersten mal vermutlich die "start" Klasse ausführst (main methode). Die füllt dann auch deine Listen.
Wenn du die GUI startest, rufst du eine ganz andere main auf. Nämlich diejenige, welche die Grafischen Sachen baut. Und der ActionListener hier, führt nur die statische methode "getSend()" aus. Die main der "start" Klasse bleibt so unausgeführt.

Nebenbei, in Java schreibt man Klassennamen groß...

Gruß,
X5
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
N Ausgabe des Inhalts eines String Arrays in einer ArrayList Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
M Ausgabe einer kleinen Aufgabe Java Basics - Anfänger-Themen 2
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 13
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 1
D Ausgabe einer Matrix mit System.out.println Java Basics - Anfänger-Themen 6
S Programm zum Einlesen einer Zahl und Ausgabe der Wurzel Java Basics - Anfänger-Themen 13
A Ausgabe einer Division Java Basics - Anfänger-Themen 11
Dogge URL-Ausgabe/Verarbeitungsproblem mittels einer Applikation Java Basics - Anfänger-Themen 2
D Prüfung zur korrekten Ausgabe einer Methode Java Basics - Anfänger-Themen 2
M Ausgabe einer gerade Zahl nur mit Addition,subtraktion und vergleichsoperatoren! Java Basics - Anfänger-Themen 4
C Programm zur Ausgabe einer ausgewählten Methode Java Basics - Anfänger-Themen 2
H Ausgabe in einer Zeile Java Basics - Anfänger-Themen 4
JeromeM90 Problem bei einer Ausgabe von einem bestimmten Zeichen Java Basics - Anfänger-Themen 5
A Ausgabe einer variablen im textfeld Java Basics - Anfänger-Themen 3
R JSP: Ausgabe einer entfernten Webseite in Variable einlesen Java Basics - Anfänger-Themen 2
K Ausgabe problem in einer Hausaufgabe Java Basics - Anfänger-Themen 5
H Hilfe bei Ausgabe in einer Datei. Java Basics - Anfänger-Themen 5
C Ausgabe in Dos-Konsole, die von einer GUI gestartet wird. Java Basics - Anfänger-Themen 2
I VisualClass: Ausgabe einer Variable Java Basics - Anfänger-Themen 2
A Problem mit Ausgabe einer Liste über einen Client Java Basics - Anfänger-Themen 5
X Arrays - Erstellen einer Klasse zur Ausgabe von Reihen etc. Java Basics - Anfänger-Themen 12
ven000m Rautenstern mit nur einer System.xx Ausgabe! Java Basics - Anfänger-Themen 21
B Ausgabe in bestimmte Zeile einer html Datei Java Basics - Anfänger-Themen 12
D rekursive ausgabe einer zahl Java Basics - Anfänger-Themen 14
P Berechnen des Klassendurchschnitts und Ausgabe einer Kurve Java Basics - Anfänger-Themen 3
C Ausgabe in einer Datei Java Basics - Anfänger-Themen 2
N geschachtelte ausgabe einer zeichenkette Java Basics - Anfänger-Themen 5
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben