Ich versuche nur eine vertikale Bildlaufleiste zu meinem TextField und TextArea hinzuzufügen. Ich benutze ein ScrollPane und es sollte standardmäßig eine vertikale/horizontale Bildlaufleiste erstellen.JScrollBar Vertikale/Horizontale Einstellung Problem - Java Swing
Problem: Ich brauche eine vertikale Bildlaufleiste, um die Daten zu sehen, die nicht sichtbar ist. Am Anfang wird eine vertikale Bildlaufleiste angezeigt, aber wenn die Daten zunehmen, wird die vertikale Bildlaufleiste zu einer horizontalen Bildlaufleiste. Auch das TextField verschwindet und nur eine horizontale Bildlaufleiste erscheint an seiner Stelle. Ich denke, es ist, weil ich die Grenzen gesetzt habe, aber ich habe versucht, die Grenzen zu ändern, und es endet vollständig mit dem TextField.
Mein Code-Schnipsel:
public JTextField inputField = new JTextField();
public JTextArea talkArea = new JTextArea();
public JScrollPane inputFieldScroll = new JScrollPane(inputField);
public JScrollPane talkAreaScroll = new JScrollPane(talkArea);
talkArea.setEditable(false);
talkArea.setBackground(Color.white);
talkAreaScroll.setBounds(new Rectangle(TALK_LEFT, TALK_TOP, TALK_WIDTH, TALK_HEIGHT));
this.getContentPane().add(talkAreaScroll, null);
//set input area
inputField.setBackground(Color.white);
inputField.setBounds(new Rectangle(INPUT_LEFT, INPUT_TOP, INPUT_WIDTH, INPUT_HEIGHT));
inputFieldScroll.setVerticalScrollBar(new JScrollBar());
inputFieldScroll.setBounds(new Rectangle(INPUT_LEFT, INPUT_TOP, INPUT_WIDTH, INPUT_HEIGHT));
Frage:
Gibt es einige Parameter ich so einstellen müssen, dass es sich um eine vertikale Bildlaufleiste bleibt? Warum belegt die Eingabe-Bildlaufleiste das gesamte Eingabefeld, wenn die Daten zu einer großen Zeile werden? Es erscheint als eine richtige vertikale Bildlaufleiste am Anfang.
Jeder Ratschlag geschätzt.
Danke
Scrollbar auf einem JTextField? – khachik
Können Sie ein kleines kompilierbares und ausführbares Beispiel erstellen und veröffentlichen? Was passiert auch, wenn Sie die bevorzugte Größe des JViewports von JScrollPane und nicht von JScrollPane selbst festlegen? –