JavaFX Inhalte aus dynamischen vbox mit TextArea auslesen

thobren

Mitglied
Ich habe foglenden Code:
Java:
package netthor.checkup;

import java.util.ArrayList;
import java.util.List;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class FXAntwortZeile extends Application {

	int zaehler = 2;

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(final Stage primaryStage) {

		primaryStage.setTitle("CheckUP");
		final StackPane root = new StackPane();

		final VBox boxAntworten = new VBox();

		final VBox xboxZeile = new VBox();
		xboxZeile.getChildren().add(fragenzeile(1));
		xboxZeile.getChildren().add(fragenzeile(2));

		Button btAnwortZufuegen = new Button("Antwort zufügen");
		final Button btAnwortLoeschen = new Button("Antwort löschen");

		btAnwortZufuegen.setFont(Font.font("Arial", 14));
		btAnwortLoeschen.setFont(Font.font("Arial", 14));

		HBox hboxZufuegen = new HBox();
		HBox hboxLoeschen = new HBox();
		hboxZufuegen.getChildren().add(btAnwortZufuegen);
		hboxLoeschen.getChildren().add(btAnwortLoeschen);
		HBox.setMargin(hboxLoeschen, new Insets(10, 10, 10, 10));
		HBox.setMargin(hboxZufuegen, new Insets(10, 10, 10, 10));
		HBox vbButtonAntwort = new HBox();
		vbButtonAntwort.getChildren().add(hboxZufuegen);
		vbButtonAntwort.getChildren().add(hboxLoeschen);
		vbButtonAntwort.setAlignment(Pos.CENTER);

		boxAntworten.getChildren().add(xboxZeile);
		boxAntworten.getChildren().add(vbButtonAntwort);

		root.getChildren().add(boxAntworten);

		primaryStage.setScene(new Scene(root, 600, 600));
		primaryStage.show();

		xboxZeile.setOnMouseClicked(new EventHandler<MouseEvent>() {

			@Override
			public void handle(MouseEvent arg0) {
				System.out.println(xboxZeile.getId());
			}

		});

		btAnwortLoeschen.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {

				System.out.println(btAnwortLoeschen.getText());

				List<Node> nodes = xboxZeile.getChildren();
				for (Node node : nodes) {
					System.out.println(node.getId());

				}
				System.out.println("----------------------");

				int counter = 0;
				ArrayList<Node> an = getAllNodes(root);
				for (Node node : an) {
					node.parentProperty().getName();
					if (node.getId() != null) {
						// System.out.println(node.getId());

						counter++;
					}
				}

				if (zaehler > 2) {
					xboxZeile.getChildren().remove(--counter);
					zaehler--;
					primaryStage.show();
				}

			}
		});

		btAnwortZufuegen.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {
				if (zaehler < 9) {
					xboxZeile.getChildren().add(fragenzeile(++zaehler));
					primaryStage.show();
				}
			}
		});

	}

	HBox zeileFrage;

	public HBox fragenzeile(int nummer) {

		Integer a = nummer;
		zeileFrage = new HBox();

		zeileFrage.setId(a.toString());
		zeileFrage.setAlignment(Pos.CENTER_LEFT);

		final Label lbZaehler = new Label(nummer + ".)");
		lbZaehler.setFont(Font.font("Arial", 14));

		HBox hboxZaehler = new HBox();

		zeileFrage.setId("zeilFrage" + a.toString());

		System.out.println("----------------------");
		System.out.println(zeileFrage);
		System.out.println(zeileFrage.getId());
		System.out.println("----------------------");

		hboxZaehler.setAlignment(Pos.CENTER_LEFT);
		hboxZaehler.getChildren().add(lbZaehler);
		HBox.setMargin(lbZaehler, new Insets(0, 10, 0, 10));

		TextArea taAntwort = new TextArea();
		taAntwort.setMaxHeight(45);

		// taAntwort.setStyle("-fx-text-fill: BLACK;"
		// + "-fx-font-size: 14pt;");

		final CheckBox cbTrue = new CheckBox();

		HBox hboxCheckBox = new HBox();
		hboxCheckBox.setAlignment(Pos.CENTER_LEFT);
		hboxCheckBox.getChildren().add(cbTrue);
		HBox.setMargin(cbTrue, new Insets(0, 5, 0, 10));

		final Label lbtrueFalse = new Label("false");
		lbtrueFalse.setFont(Font.font("Arial", 14));

		zeileFrage.getChildren().add(hboxZaehler);
		zeileFrage.getChildren().add(taAntwort);
		zeileFrage.getChildren().add(hboxCheckBox);
		zeileFrage.getChildren().add(lbtrueFalse);

		cbTrue.selectedProperty().addListener(new ChangeListener<Boolean>() {
			@Override
			public void changed(ObservableValue<? extends Boolean> observable,
					Boolean oldValue, Boolean newValue) {
				// System.out.println(newValue);
				if (newValue == true) {
					lbtrueFalse.setText("true");
				} else {
					lbtrueFalse.setText("false");
				}
			}
		});

		return zeileFrage;

	}
	
	public static ArrayList<Node> getAllNodes(Parent root) {
		ArrayList<Node> nodes = new ArrayList<Node>();
		addAllDescendents(root, nodes);
		return nodes;
	}

	private static void addAllDescendents(Parent parent, ArrayList<Node> nodes) {
		for (Node node : parent.getChildrenUnmodifiable()) {
			nodes.add(node);
			if (node instanceof Parent)
				addAllDescendents((Parent) node, nodes);
		}
	}

}

Wie kann ich jetzt den eingebenen Text in den TextAreas abfragen/abholen. Ich komme nicht darauf.
Für eine Idee wäre ich echt dankbar.
 

thobren

Mitglied
Danke für den Hinweis!
Aber ich habe hier mehrere TextAreas mit taAntwort, die dynamisch erzeug wurden.

JavaCheckupAntworten.JPG

Dier TextArea liegt in einer HBox, diese wiederum wieder in einer HBox und dann in einer VBox und dann in einer Stackpane (root).
Wie komme ich an diese ran?
 
Zuletzt bearbeitet:

dzim

Top Contributor
Auch wenn du es dynamisch erstellst, hindert dich niemand daran, dir eine Referenz darauf zu speichern... Dann kannst du es wie @cameCase90 es beschreibt auslesen. Solle kein Problem darstellen.
 

thobren

Mitglied
Hallo dezim

Kannst Du mir ein Beispiel geben. Ich hab schon alles versucht und 1000 Seiten Internet durchforstet.
Ich habe es schon mit Id's versucht, aber da komme ich nicht weiter.

Das müßte den Pfad zur TextArea sein.
root (Stackpane) -> boxAntworten (VBox) -> xboxZeile () -> zeilefrage(HBox) "aus der methode fragezeile"-> taAntwort (TextArea)
ab inklusiv xboxZeile ist dynamisch
 
Zuletzt bearbeitet:

Tom299

Bekanntes Mitglied
Mach dir eine ArrayList<TextArea> und da fügst du deine TextArea's beim Erzeugen deiner fragenzeile hinzu. Die fragezeile-nummer hast du ja auch, damit kannst du deine TextArea später wieder rausnehmen.
 

thobren

Mitglied
Ich habe jetzt eine Lösung nach gefühlten 20000 Seiten Internetsuche gefunden.
Ich gehe üder die ID.
z.B.:
TextArea ta = (TextArea) root.lookup("#TextAntwort" + nummer);

Java:
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class FXAntwortZeile extends Application {

	private int zaehler = 2;
	private final StackPane root = new StackPane();
	private HBox zeileFrage;

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(final Stage primaryStage) {

		primaryStage.setTitle("CheckUP");

		final VBox xboxZeile = new VBox();
		xboxZeile.getChildren().add(fragenzeile(1));
		xboxZeile.getChildren().add(fragenzeile(2));

		Button btAnwortZufuegen = new Button("Antwort zufügen");
		final Button btAnwortLoeschen = new Button("Antwort löschen");

		btAnwortZufuegen.setFont(Font.font("Arial", 14));
		btAnwortLoeschen.setFont(Font.font("Arial", 14));

		final HBox hboxZufuegen = new HBox();
		HBox hboxLoeschen = new HBox();
		hboxZufuegen.getChildren().add(btAnwortZufuegen);
		hboxLoeschen.getChildren().add(btAnwortLoeschen);
		HBox.setMargin(hboxLoeschen, new Insets(10, 10, 10, 10));
		HBox.setMargin(hboxZufuegen, new Insets(10, 10, 10, 10));
		HBox vbButtonAntwort = new HBox();
		vbButtonAntwort.getChildren().add(hboxZufuegen);
		vbButtonAntwort.getChildren().add(hboxLoeschen);
		vbButtonAntwort.setAlignment(Pos.CENTER);

		final VBox boxAntworten = new VBox();
		boxAntworten.getChildren().add(xboxZeile);
		boxAntworten.getChildren().add(vbButtonAntwort);

		root.getChildren().add(boxAntworten);

		btAnwortLoeschen.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {

				if (zaehler > 2) {
					xboxZeile.getChildren().remove(--zaehler);
					primaryStage.show();
				}
			}
		});

		btAnwortZufuegen.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {
				if (zaehler < 9) {
					xboxZeile.getChildren().add(fragenzeile(++zaehler));
					primaryStage.show();
				}
				for (int i = 2; i <= 9; i++) {
					if (i == zaehler) {
						textAreaVergroessern(zaehler);
					}
				}
			}
		});

		textAreaVergroessern(1);
		textAreaVergroessern(2);

		primaryStage.setScene(new Scene(root, 600, 600));
		primaryStage.show();
	}

	void mausauswertung(MouseEvent mouseEvent, int nummer) {
		if (mouseEvent.getClickCount() == 2) {
			TextArea ta = (TextArea) root.lookup("#TextAntwort" + nummer);
			if (ta.prefRowCountProperty().getValue() == 2) {
				ta.setPrefRowCount(10);
			} else {
				ta.setPrefRowCount(2);
			}
		}
	}

	void textAreaVergroessern(final int nummer) {
		HBox Zeile = (HBox) root.lookup("#ZeileAntwort" + nummer);
		Zeile.setOnMouseClicked(new EventHandler<MouseEvent>() {
			@Override
			public void handle(MouseEvent mouseEvent) {
				mausauswertung(mouseEvent, nummer);
			}
		});
	}

	public HBox fragenzeile(int nummer) {
		Integer a = nummer;

		final Label lbZaehler = new Label(nummer + ".)");
		lbZaehler.setFont(Font.font("Arial", 14));

		HBox hboxZaehler = new HBox();
		hboxZaehler.setAlignment(Pos.CENTER_LEFT);
		hboxZaehler.getChildren().add(lbZaehler);

		HBox.setMargin(lbZaehler, new Insets(0, 10, 0, 10));

		TextArea taAntwort = new TextArea();
		taAntwort.setId("TextAntwort" + a);
		taAntwort.setPrefRowCount(2);

		final CheckBox cbTrue = new CheckBox();
		HBox hboxCheckBox = new HBox();
		hboxCheckBox.setAlignment(Pos.CENTER_LEFT);
		hboxCheckBox.getChildren().add(cbTrue);
		HBox.setMargin(cbTrue, new Insets(0, 5, 0, 10));

		final Label lbTrueFalse = new Label("false");
		lbTrueFalse.setFont(Font.font("Arial", 14));
		lbTrueFalse.setTextFill(Color.RED);

		zeileFrage = new HBox();
		zeileFrage.setAlignment(Pos.CENTER_LEFT);
		zeileFrage.setId("ZeileAntwort" + a.toString());
		zeileFrage.getChildren().add(hboxZaehler);
		zeileFrage.getChildren().add(taAntwort);
		zeileFrage.getChildren().add(hboxCheckBox);
		zeileFrage.getChildren().add(lbTrueFalse);

		cbTrue.selectedProperty().addListener(new ChangeListener<Boolean>() {
			@Override
			public void changed(ObservableValue<? extends Boolean> observable,
					Boolean oldValue, Boolean newValue) {
				if (newValue == true) {
					lbTrueFalse.setText("true");
					lbTrueFalse.setTextFill(Color.GREEN);
				} else {
					lbTrueFalse.setText("false");
					lbTrueFalse.setTextFill(Color.RED);
				}
			}
		});

		return zeileFrage;

	}

}
 

dzim

Top Contributor
Boah... Also dein denglischer Code und das camelCase nach Gefühl... Verursacht bei mir gerade Augenkrebs... :p
Methodennamen sollten übrigens in der Regel (kurz und knapp) selbstbeschreibend sein. #fragezeile(int) würde dann zu #erstelleFragezeile(int) oder noch besser #createQuestionHBox(int).
Ich persönlich empfinde Deutsch/Englisch gemischten Code als unsauber...

Wie auch immer: Deine Variante geht, ist aber vermutlich langsam. In deinem Fall wäre es besser eine Map (vereinfacht gesagt: ein Key-Value-Pair) aus Nummer (der Frage) auf die TextArea zu erstellen.

Erst einmal enthält deine Klasse "FXAntwortZeile" (Deutsch! Argh!) also noch die Property
private Map<Integer, TextArea> questions = new HashMap<>();
In der "Fragezeile"-Methode würdest du dann questions.put(nummer, taAntwort); machen. Wenn du die TextArea auslesen möchtest TextArea ta = questions.get(nummer);

Das meinten wir mit "eine Referenz auf die TextArea behalten". Indem du das Objekt in die Map wirfst, behölst du also die Objekt-Referenz bei... Mit allen Konsequenzen.

Grüsse
 

thobren

Mitglied
Hallo dzim

Danke für Deine Kritik

Den ersten Punkt habe ich versucht umzusetzten.

Java:
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class CreateAnswers extends Application {

	private int counter = 2;
	private final StackPane root = new StackPane();
	private HBox rowAnswerHBox;

	public static void main(String[] args) {
		launch(args);
	}
	
	@Override
	public void start(final Stage primaryStage) {

		primaryStage.setTitle("CheckUP");

		final VBox rowAnswerVBox = new VBox();
		rowAnswerVBox.getChildren().add(createRowAnswerHBox(1));
		rowAnswerVBox.getChildren().add(createRowAnswerHBox(2));

		Button createAnswerButton = new Button("Antwort zufügen");
		final Button deleteAnswerButton = new Button("Antwort löschen");

		createAnswerButton.setFont(Font.font("Arial", 14));
		deleteAnswerButton.setFont(Font.font("Arial", 14));

		final HBox createAnswerButtonInHBox = new HBox();
		HBox deleteAnswerButtonInHBox = new HBox();
		createAnswerButtonInHBox.getChildren().add(createAnswerButton);
		deleteAnswerButtonInHBox.getChildren().add(deleteAnswerButton);
		HBox.setMargin(deleteAnswerButtonInHBox, new Insets(10, 10, 10, 10));
		HBox.setMargin(createAnswerButtonInHBox, new Insets(10, 10, 10, 10));

		HBox buttonAnswerInHBox = new HBox();
		buttonAnswerInHBox.getChildren().add(createAnswerButtonInHBox);
		buttonAnswerInHBox.getChildren().add(deleteAnswerButtonInHBox);
		buttonAnswerInHBox.setAlignment(Pos.CENTER);

		final VBox buttonsVBox = new VBox();
		buttonsVBox.getChildren().add(rowAnswerVBox);
		buttonsVBox.getChildren().add(buttonAnswerInHBox);

		root.getChildren().add(buttonsVBox);

		deleteAnswerButton.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {
				if (counter > 2) {
					rowAnswerVBox.getChildren().remove(--counter);
					primaryStage.show();
				}
			}
		});

		createAnswerButton.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {
				if (counter < 9) {
					rowAnswerVBox.getChildren().add(
							createRowAnswerHBox(++counter));
					primaryStage.show();
				}
				for (int i = 2; i <= 9; i++) {
					if (i == counter) {
						scaleAnswerTextArea(counter);
					}
				}
			}
		});

		scaleAnswerTextArea(1);
		scaleAnswerTextArea(2);

		primaryStage.setScene(new Scene(root, 600, 600));
		primaryStage.show();
	}

	void clickOnRowAnswerHBox(MouseEvent mouseEvent, int nummer) {
		if (mouseEvent.getClickCount() == 2) {
			TextArea ta = (TextArea) root.lookup("#AnswerTextArea" + nummer);
			if (ta.prefRowCountProperty().getValue() == 2) {
				ta.setPrefRowCount(10);
			} else {
				ta.setPrefRowCount(2);
			}
		}
	}

	void scaleAnswerTextArea(final int nummer) {
		HBox RowAnswerHBox = (HBox) root.lookup("#RowAnswerHBox" + nummer);
		RowAnswerHBox.setOnMouseClicked(new EventHandler<MouseEvent>() {
			@Override
			public void handle(MouseEvent mouseEvent) {
				clickOnRowAnswerHBox(mouseEvent, nummer);
			}
		});
	}

	public HBox createRowAnswerHBox(int nummer) {
		Integer a = nummer;

		final Label counterLabel = new Label(nummer + ".)");
		counterLabel.setFont(Font.font("Arial", 14));

		HBox counterHBox = new HBox();
		counterHBox.setAlignment(Pos.CENTER_LEFT);
		counterHBox.getChildren().add(counterLabel);

		HBox.setMargin(counterLabel, new Insets(0, 10, 0, 10));

		TextArea answerTextArea = new TextArea();
		answerTextArea.setId("AnswerTextArea" + a);
		answerTextArea.setPrefRowCount(2);

		final CheckBox cbTrue = new CheckBox();
		HBox checkBoxInHBox = new HBox();
		checkBoxInHBox.setAlignment(Pos.CENTER_LEFT);
		checkBoxInHBox.getChildren().add(cbTrue);
		HBox.setMargin(cbTrue, new Insets(0, 5, 0, 10));

		final Label trueFalseLabel = new Label("false");
		trueFalseLabel.setFont(Font.font("Arial", 14));
		trueFalseLabel.setTextFill(Color.RED);

		rowAnswerHBox = new HBox();
		rowAnswerHBox.setAlignment(Pos.CENTER_LEFT);
		rowAnswerHBox.setId("RowAnswerHBox" + a.toString());
		rowAnswerHBox.getChildren().add(counterHBox);
		rowAnswerHBox.getChildren().add(answerTextArea);
		rowAnswerHBox.getChildren().add(checkBoxInHBox);
		rowAnswerHBox.getChildren().add(trueFalseLabel);

		cbTrue.selectedProperty().addListener(new ChangeListener<Boolean>() {
			@Override
			public void changed(ObservableValue<? extends Boolean> observable,
					Boolean oldValue, Boolean newValue) {
				if (newValue == true) {
					trueFalseLabel.setText("true");
					trueFalseLabel.setTextFill(Color.GREEN);
				} else {
					trueFalseLabel.setText("false");
					trueFalseLabel.setTextFill(Color.RED);
				}
			}
		});

		return rowAnswerHBox;
	}
}

Den zweiten Punkt mit der Map verstehe ich nicht. Klar ich könnte eine Map erzeugen. Aber JavaFX biete mir doch die ID an, mit der ich alles direkt auslesen kann.
Und wie bekomme ich dann noch die Checkbox in die Map rein? Müßte ich eine zweite Map erstellen?
Und welchen Code kann ich mir dann sparen, wenn ich eine Map einfüge?
Eine Map kann ich mir sehr gut vorstellen beim Auslesen einer Datenbank mit einer ID und einem DatenObjekt.


Gruss thobren
 

dzim

Top Contributor
Auch wenn ich die ID primär als Mittel des CSS-Stylings betrachte, hast du schon recht, dass man damit per #lookup() an den entsprechenden Node kommen kann. Aber: Das ist eine relativ teure Operation (jedenfalls unter Android) und daher wird gerne darauf hingewiesen, dass man das so selten wie möglich machen sollte (einmal beim start z.B.). Da du die TextAreas ja sogar generierst, kannst du sie eben auch schnell zusätzlich (neben der ID) auch in einer Map speichern. Der Zugriff daruf ist vergleichbar "billig"" und schnell...

Ich muss dazu sagen, dass ich primär wegen Android auf das lookup in JavaFX verzichte, weil dort mal irgendwann wegen der Performance vor gewarnt wurde. Und dort ist es logisch. Da der Aufbau in JavaFX recht ähnlich ist (eine Baumstruktur von Nodes) kann ich mir nur vorstellen, dass auch hier es nicht trivial ist, da jedes mal der komplette Baum durchsucht werden muss, bis das richtige Element gefunden wurde.

Wenn du auf Nummer Sicher gehen möchtest, kannst du dir auch gleich noch das hier anschauen:
https://docs.oracle.com/javase/7/docs/api/java/lang/ref/WeakReference.html
WeakReferences sind sicher noch besser als die reine Instanz in der Map zu speichern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
S JavaFX ListView Inhalte während Laufzeit ändern AWT, Swing, JavaFX & SWT 23
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
I JAVAFX - Übergabe der Inhalte an eine Scene - Wo ist der Vorteil gegenüber Swing? AWT, Swing, JavaFX & SWT 2
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
Sugan Inhalte mit Threads ändern -> java.lang.IllegalStateException AWT, Swing, JavaFX & SWT 6
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
J Swing unterschiedliche Inhalte in einem JFrame AWT, Swing, JavaFX & SWT 3
V kann ich in einer Klasse stage und scene deklarieren, aber in anderen Klassen Inhalte hinzufügen ? AWT, Swing, JavaFX & SWT 5
OnDemand Box Inhalte rechsbündig AWT, Swing, JavaFX & SWT 6
I JTable Inhalte löschen ohne den JTable zu verändern! AWT, Swing, JavaFX & SWT 5
S Swing Inhalte von Scroll-Panes werden nicht gezeichnet AWT, Swing, JavaFX & SWT 9
E Swing JTable Inhalte löschen..Was ist Sinnvoll? AWT, Swing, JavaFX & SWT 5
R Tab-Inhalte aktualisieren AWT, Swing, JavaFX & SWT 4
F Swing jScrollPane Inhalte AWT, Swing, JavaFX & SWT 2
M Datenbanktabellen Inhalte in JLabel anzeigen AWT, Swing, JavaFX & SWT 2
T Problem mit der Programmierung von Fenster und deren Inhalte AWT, Swing, JavaFX & SWT 4
M Platzhalter: Inhalte nicht vergrößern AWT, Swing, JavaFX & SWT 2
L Alle Inhalte in BorderLayout.CENTER löschen? AWT, Swing, JavaFX & SWT 2
R Manchmal werden die Inhalte des JFrames nicht angezeigt AWT, Swing, JavaFX & SWT 3
S JDialog und 'Inhalte' schliessen bzw. leeren AWT, Swing, JavaFX & SWT 9
O Inhalte in JTable löschen AWT, Swing, JavaFX & SWT 3
C JList Inhalte abfragen AWT, Swing, JavaFX & SWT 2
G GUI - Inhalte wechseln (Eingabe-Assistenten programmieren) AWT, Swing, JavaFX & SWT 2
C Inhalte in immer das gleiche Fenster ausgeben? AWT, Swing, JavaFX & SWT 3
D Alle Inhalte einer JTextArea in einem JScrollPane löschen AWT, Swing, JavaFX & SWT 2
perlenfischer1984 Umgang mit IDs bei dynamischen Tab AWT, Swing, JavaFX & SWT 1
E JFreeChart in einer dynamischen Aufzeichnung neue Serien hinzufügen? AWT, Swing, JavaFX & SWT 7
N Swing [JXTable] getColumnIndex mit dynamischen TableHeader AWT, Swing, JavaFX & SWT 4
D Dynamischen JTree aus Hyperlinks bzw. Anker erzeugen AWT, Swing, JavaFX & SWT 8
B Probleme bei der dynamischen JCombobox-Einträge und Listener AWT, Swing, JavaFX & SWT 2
M dynamischen JTree erzeugen AWT, Swing, JavaFX & SWT 4
M Prob. beim dynamischen Erzeugen v. Obj! AWT, Swing, JavaFX & SWT 11
L JavaFX VBox oder HBox children filtern? AWT, Swing, JavaFX & SWT 14
K JavFX: VBox.setVGrow stell sich quer AWT, Swing, JavaFX & SWT 2
D JavaFX Elemente aus VBox unterscheiden AWT, Swing, JavaFX & SWT 1
D JavaFX Dynamisch erzeugte Checkboxen aus VBox auslesen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben