Warten auf die Eingabe aus Fenster....

Status
Nicht offen für weitere Antworten.

KJay

Mitglied
Hallo!

Ich habe mal eine kleine Frage - folgende Situation!

Eine For-Schleife wird x-mal durchlaufen. in der Schleife soll eine Fenster aufgemacht werden, werte gesetzt werden (über JSlider in diesem Fenster) und dieses Fenster wird durch OK bestätigt und geschlossen. Rückgabewert des Fensters ist ein Array welches im Aufrufenden Objekt in range gespeichert wird.

Die For Schleife siet folgend aus:

Code:
for (int j = 0; groups[j] != null; j++) {
	rangeForGroups[j][0] = groups[j];
		
	range = new RangeSlider("Set bounds for: " + groups[j]).viewRangeSlider();
	
                // weiterer Code zur verarbeitung von range		
			
}


Jetzt soll die For-schleife aber jedesmal auf die OK Eingabe der RangeSliders warten und dann erst den nächsten RangeSlider öffnen. Wie kann man das anstellen?
Bis jetzt ist es so, das mir X Fenster (für jeden Schleifendurchlauf eines) "gleichzeitig" aufgemacht werden. Ich denke das ist womöglich mit Threads (wait() und notify()) machbar - nur habe ich bis jetzt nicht rausgefunden wie man das anstellt.

Kann mir da jemand helfen??

Danke schonmal!

PS: Der RangeSlider sieht wie folgt aus (falls das wichtig sein sollte) :

Code:
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.text.NumberFormatter;
import view.listener.SliderChangeListener_max;
import view.listener.SliderChangeListener_min;

@SuppressWarnings("serial")
public class RangeSlider implements ActionListener {
	private JFrame frame;

	private int valueOfSlider_min, valueOfSlider_max;

	private JSlider slider_min, slider_max;

	private JFormattedTextField textField_min, textField_max;
	private JLabel minLabel, maxLabel, titleLabel;

	private int min = 0;

	private int max = 100;

	private JButton ok;

	private String title;
	
	private SliderChangeListener_min ch_li_min;
	private SliderChangeListener_max ch_li_max;
	
	private Font headLine = new Font("Verdana", Font.BOLD, 14);

	public RangeSlider(String title) {
		this.title = title;
	}

	public int[] viewRangeSlider() {
		createSlider();
		int[] returnValue = new int[2];
		returnValue[0] = valueOfSlider_min;
		returnValue[1] = valueOfSlider_max;
		return returnValue;
	}

	private void createSlider() {
		frame = new JFrame();
		frame.setTitle("Please select range for:" + title);
		frame.setLocation(600, 300);
		frame.setSize(300, 200);		
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLayout(new GridLayout(8, 0, 7, 7));

		titleLabel = new JLabel("   Please choose bounds for: " + title + "   ");
		titleLabel.setFont(headLine);
		
		ch_li_min = new SliderChangeListener_min(this);
		
		minLabel = new JLabel("   lower bound:");
		slider_min = new JSlider(0, 100, 50);
		slider_min.setPaintTicks(true);
		slider_min.setMajorTickSpacing(10);
		slider_min.setMinorTickSpacing(2);
		slider_min.setPaintTrack(true);
		slider_min.addChangeListener(ch_li_min);
		
		ch_li_max = new SliderChangeListener_max(this);
		
		maxLabel = new JLabel("   upper bound:");
		slider_max = new JSlider(0, 100, 50);
		slider_max.setPaintTicks(true);
		slider_max.setMajorTickSpacing(10);
		slider_max.setMinorTickSpacing(2);
		slider_max.setPaintTrack(true);
		slider_max.addChangeListener(ch_li_max);
		java.text.NumberFormat numberFormat = java.text.NumberFormat.getIntegerInstance();
		NumberFormatter formatter = new NumberFormatter(numberFormat);
		formatter.setMinimum(new Integer(max));
		formatter.setMaximum(new Integer(min));
		textField_min = new JFormattedTextField(formatter);
		textField_min.setValue(new Integer(50));
		textField_min.setColumns(5);
		textField_min.setEditable(false);
		textField_min.setHorizontalAlignment(JTextField.CENTER);
		textField_max = new JFormattedTextField(formatter);
		textField_max.setValue(new Integer(50));
		textField_max.setColumns(5);
		textField_max.setEditable(false);
		textField_max.setHorizontalAlignment(JTextField.CENTER);
		ok = new JButton("OK");
		ok.setActionCommand("ok");
		ok.addActionListener(this);
		
		frame.add(titleLabel);
		frame.add(minLabel);
		frame.add(slider_min);
		frame.add(textField_min);
		frame.add(maxLabel);
		frame.add(slider_max);
		frame.add(textField_max);
		frame.add(ok);
		frame.pack();
		frame.setVisible(true);
	}

	

	public void actionPerformed(ActionEvent x) {
		if (x.getActionCommand().equalsIgnoreCase("OK")) {
			valueOfSlider_min = (Integer) textField_min.getValue();
			valueOfSlider_max = (Integer) textField_max.getValue();
			frame.dispose();
			
		}
	}

	public void setTextField_max(int i) {
		textField_max.setValue(i);
	}

	public void setTextField_min(int i) {
		textField_min.setValue(i);
	}
}
 

Quaxli

Top Contributor
Nimm statt JFrame einen JDialog und sorge dafür daß er modal ist, dann sollte der gewünschte Effekt erreicht werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
J Warten bis cmd Prozess fertig ist Allgemeine Java-Themen 2
M Warten vor OnClickListener Allgemeine Java-Themen 2
B Threads Multithreading Threads sollen warten Allgemeine Java-Themen 12
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
M Warten bis Variabel nicht null ist Allgemeine Java-Themen 18
chuxXo Warten auf BasicPlayer - JavaZOOM SoundAPI Allgemeine Java-Themen 8
J Java Auf anderes Programm warten Allgemeine Java-Themen 9
W Threads Threads warten lassen Allgemeine Java-Themen 5
D Simpler Timer zum warten Allgemeine Java-Themen 19
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
das-mo Warten auf Event Allgemeine Java-Themen 7
L Im Thread auf Eingaben warten Allgemeine Java-Themen 3
frankred Threads Auf eine Gruppe von Threads warten Allgemeine Java-Themen 11
S Warten, bis ein Impuls von außen kommt. Allgemeine Java-Themen 2
A Warten auf shellscript Allgemeine Java-Themen 3
K Warten bis Datei geändert Allgemeine Java-Themen 2
KrokoDiehl Desktop.open() und warten? Allgemeine Java-Themen 3
Guybrush Threepwood Warten, bis keine Taste gedrückt Allgemeine Java-Themen 11
H auf Methode warten Allgemeine Java-Themen 2
F thread warten lassen Allgemeine Java-Themen 2
N "Bitte warten"-Meldung Allgemeine Java-Themen 6
P Swing Eine Sekunde warten (Timer) Allgemeine Java-Themen 7
kodela Warten mit Java Allgemeine Java-Themen 5
L Warten bei mehreren Threads, bis Ende erreicht ist Allgemeine Java-Themen 2
S Threads eines Pools aufeinander warten lassen Allgemeine Java-Themen 11
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
MQue auf gestarteten Process warten Allgemeine Java-Themen 7
M Auf Einträge im Buffer warten Allgemeine Java-Themen 7
M In der GUI / im Model auf Webrequest warten? Allgemeine Java-Themen 4
G Auf den Start eines Threads warten? Allgemeine Java-Themen 4
M Auf Thread warten Allgemeine Java-Themen 5
G Warten? Allgemeine Java-Themen 3
R Warten auf Beendigung eines externen Prozesses Allgemeine Java-Themen 4
C Java Parameter zum starten ohne auf Programmende zu warten Allgemeine Java-Themen 4
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
P Warten auf ein Ereignis Allgemeine Java-Themen 7
R Thread beenden und warten, bis er fertig ist Allgemeine Java-Themen 4
O Warten bis alle gestarteten Threads beendet sind? Allgemeine Java-Themen 6
Q Methode soll auf schließen eines Frames warten Allgemeine Java-Themen 4
S methode stoppen / auf ein event warten Allgemeine Java-Themen 5
J x Sekunden warten, dann Kommando ausführen Allgemeine Java-Themen 8
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
R Thread soll auf MouseClick warten Allgemeine Java-Themen 2
W Warten bis gestartetes Programm beendet wird Allgemeine Java-Themen 2
D Warten auf Dateien aus externem Programm Allgemeine Java-Themen 3
D commapi lesen, auf zeichen warten. Allgemeine Java-Themen 2
sliwalker Threads: Kann man auf anonyme Threads warten? Allgemeine Java-Themen 2
S Datei endlos einlesen (am Dateiende warten) Allgemeine Java-Themen 3
N auf java 1.5 (tiger) warten? Allgemeine Java-Themen 4
kodela Eingabe für TextArray bedingt sperren Allgemeine Java-Themen 3
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
N Eingabe wird immer als "false" ausgegeben Allgemeine Java-Themen 6
N String Array Eingabe Allgemeine Java-Themen 6
W Java Telegram Bot - Eingabe durch User Allgemeine Java-Themen 2
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
G Eingabe auftrennen Allgemeine Java-Themen 3
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
D Flasche Eingabe erkennen Allgemeine Java-Themen 4
K Eingabe mit Char vergleichen klappt nicht! Allgemeine Java-Themen 2
0 Eingabe nicht möglich... Allgemeine Java-Themen 12
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
C Cmd Eingabe als Administrator Allgemeine Java-Themen 4
J Anzahl der Zeichen bei Eingabe begrenzen Allgemeine Java-Themen 5
M Eingabe von Arrays geht über gewünschte Anzahl hinaus Allgemeine Java-Themen 2
S Erste Schritte Arrayliste alphabetisch sortieren mit Eingabe Allgemeine Java-Themen 9
Cayton Bruchrechner stürzt bei eingabe negativer Zahlen ab Allgemeine Java-Themen 4
S Antlr Grammatik übersetzt ohne Fehler, dennoch wird Zahl nicht als Eingabe erkannt Allgemeine Java-Themen 4
M Befehl in Runtime ausführen der Eingabe benötigt Allgemeine Java-Themen 3
Z Taschenrechner größere Eingabe Allgemeine Java-Themen 3
M Tastatur eingabe über Buttons Allgemeine Java-Themen 15
D zeichenerkennung für umlaute bei eingabe Allgemeine Java-Themen 4
M Eingabe Überprüfen Allgemeine Java-Themen 3
D Batch-Datei Eingabe Allgemeine Java-Themen 2
N IP-Adresse Eingabe abfragen? Allgemeine Java-Themen 4
S Listener Implentierung bei Eingabe in Textfeld Allgemeine Java-Themen 2
P MS Dos Eingabe Allgemeine Java-Themen 7
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
G Überprüfung der Eingabe ob Typ korrekt Allgemeine Java-Themen 4
G Problem mit Quellcode, Eingabe wird nicht angezeigt --HELP-- Allgemeine Java-Themen 2
M Programmablauf nach letzter eingabe erst fortsetzten Allgemeine Java-Themen 2
G eingabe Allgemeine Java-Themen 4
B TextField ohne Eingabe Allgemeine Java-Themen 7
H Frage zu Wildcard Eingabe in Java! Allgemeine Java-Themen 5
R Eingabe eines Textfeldes mit Inhalt einer Datei vergleichen Allgemeine Java-Themen 4
L javaformular auf website (eingabe per email zusenden) Allgemeine Java-Themen 3
B Java Eingabe HELP ( eclipse ) Allgemeine Java-Themen 4
F JTextField Eingabe automatisch bestaetigen Allgemeine Java-Themen 17
F Unsichtbare Eingabe Allgemeine Java-Themen 10
C Kettenelemente mit Bezeichner durch eingabe? Allgemeine Java-Themen 4
M Suche , bereits während der eingabe ?? Allgemeine Java-Themen 4
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
berserkerdq2 Weiß jemand wie ich im Scenebuilder das Fenster so darstellen kann, dass beim Vollbildmodus die Objekte so angezeigt werden? Allgemeine Java-Themen 1
A Zusammenspiel javafx Fenster Allgemeine Java-Themen 1
M StdDraw-Fenster schliessen Allgemeine Java-Themen 1
D Klassen 2 Fenster in GUI Allgemeine Java-Themen 3
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Fenster schließen verhindern Allgemeine Java-Themen 13
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13

Ähnliche Java Themen


Oben