Einer TextArea ein ScrollPane hinzufügen

NichtExpert

Bekanntes Mitglied
Hallo Liebe Community,

ich hänge mal wieder fest und komme partu nicht weiter, obwohl es eigentlich nicht schwer ist...
Jedoch mache ich es mir mal wieder selber schwer.

Ich habe eine GUI erstellt. Diese soll 2 TextAres besitzen, die nebeneindander liegen.
Die Größe des Frames habe ich festgelegt. Die größen der Textares ebenso.
Ich nutze kein Layout Manager
Java:
panel.setLayout(null);
Also ich bestimme selbst die größen und Positionen.


Aber ich bekomme das Ganze nicht mit dem Null layout hin und hoffe nun, hier Rat zu finden.

Java:
public static void main(String[] args) {

        //Frame erstellen
        JFrame frame = new JFrame("Textdatei");
        frame.setSize(600, 400);

        // Panel erstellen
        JPanel panel = new JPanel();
        panel.setLayout(null);
        panel.setBackground(Color.lightGray);

        // Label mit Überschrift
        JLabel überschrift = new JLabel("Textdatei");
        überschrift.setBounds(250, 50, 300, 25);
        überschrift.setFont(new Font("Times New Roman", Font.PLAIN, 32));


        // Textarea erstellen
        JTextArea textArea = new JTextArea(5, 10);
        textArea.setBounds(50, 100, 200, 160);



        JScrollPane scrollPane = new JScrollPane(textArea);





        // TextFeld erstellt
        JTextField textField = new JTextField();
        textField.setBounds(300, 100, 200, 80);

        // Button erstellen
        JButton button = new JButton("Update");
        button.setBounds(360, 210, 80, 25);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                // noch keine Funktion zugewiesen
            }
        });
        
        
        panel.add(überschrift);
        panel.add(textArea);
        panel.add(button);
        panel.add(textField);
        panel.add(scrollPane);


        frame.add(panel);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}


Hoffe es ist alles dabei, habe den Code gekürzt.


Bevor mir vorgeworfen wird, nur nach Lösungen zu fragen:
Ich habe es probiert und auch versucht mittels Internet zu lösen.
Folgend ein kleines Bsp was ich probiert habe.

Java:
JScrollPane scrollPane = new JScrollPane(textArea,
                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

Wenn ich das so machen möchte. Also das der ScrollPane nur erscheint, wenn er gebraucht wird.
Dann wird mir das wort "textArea" also die TextArea als Fehler markiert mit der Meldung:
provided int
Diesen Teil verstehe ich nicht einmal.
Wäre auch schön, wenn mich jemand darüber erleuchten könnte.

L.G. NichtExpert
 

MoxxiManagarm

Top Contributor
Dann wird mir das wort "textArea" also die TextArea als Fehler markiert mit der Meldung:
provided int
Diesen Teil verstehe ich nicht einmal.
Wäre auch schön, wenn mich jemand darüber erleuchten könnte.

Es gibt keinen Konstruktor für Component und int (die Konstante ist ein int). Der einzige Konstruktor, der ebenfalls 2 Parameter hat, ist https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/JScrollPane.html#<init>(int,int). Da hier der erste Parameter ein int und kein Component ist erscheint die Fehlermeldung. Probiere es mit https://docs.oracle.com/en/java/jav...lPane.html#<init>(java.awt.Component,int,int), du musst also auch für Vertikal eine Option angeben.
 

NichtExpert

Bekanntes Mitglied
Bin momentan sehr beschäftigt, versuche es morgen nochmal, sonst kann ich mich wahrscheinlich erst wieder Mittwoch melden. Aber schonmal danke für die Antwort, ich werde es mir ansehen
 

NichtExpert

Bekanntes Mitglied
Irgendwie bekomme ich es nicht hin.
Hättest du ein kleines Beispiel?
Oder ich schreibe mal woran ich scheitere...

Java:
public JScrollPane(Component view,
                   int vsbPolicy,
                   int hsbPolicy)
Da es public ist, geht es nicht in die Main rein, dadurch kann ich im Component view nicht auf die TextArea zuweisen.
Und ich schaffe es nicht nach diesem Code die Balken mit "Vertical_as_needed" und genauso horizontal zu setzen.
 

MoxxiManagarm

Top Contributor
Da es public ist, geht es nicht in die Main rein, dadurch kann ich im Component view nicht auf die TextArea zuweisen.
Sorry ich verstehe die Frage nicht. Versuchst du dir Zeile so wie du sie gerade gepostet hast, in die main Methode zu kopieren? Das geht natürlich nicht, das ist die Konstruktor Signatur aus der Doku, du musst die aber anwenden. Das hast du vorher schon nicht schlecht gemacht, nur eben nicht vollständig.

Java:
JScrollPane scrollPane = new JScrollPane(textArea, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

Das ist dein vorher, diese Zeile würde einen Konstruktor von JScrollPane mit Component und einem int voraussetzen, welcher nicht existiert. Existieren tut der Component, int, int Konstruktor. Du musst diese Zeile also um einen in ergänzen für die vsbPolicy. z.B.

Java:
JScrollPane scrollPane = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
 

MoxxiManagarm

Top Contributor
Alternativ könntest du den einfachen Component Konstruktur von JScrollPane anwenden und anschließend die Policy verändern. Auf diese WEise würdest du die Default Policy für Vertikal beibehalten.
Java:
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
 

NichtExpert

Bekanntes Mitglied
Deine Beiden Varianten hatte ich auch schon ausprobiert.
Bei beiden funkioniert rein garnichts, ich schätze ich übersehe da 1 Stück Code der da noch rein muss, weiß aber nicht wo

Vielleicht kommt es sich am Ende in die quere, ich meine hier
Java:
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);


panel.add(überschrift);
        panel.add(textArea);
        panel.add(button);
        panel.add(textField);
        panel.add(scrollPane);

Vielleicht gebe ich den ScrollPane doppelt an, und das Programm überschneidet sich und dadurch wird es nicht angezeigt
 

MoxxiManagarm

Top Contributor
panel.add(textArea);
Das ist schonmal überflüssig. Die textArea ist ja schon in der ScollPane. Du fügst die TextArea in der ScrollPane hinzu und dann die ScrollPane dem panel. Ich sehe, dass du oben in deinem Null Layout aber versuchst die TextArea zu platzieren, du musst aber stattdessen die ScrollPane platzieren

Java:
JTextArea textArea = new JTextArea(5, 10);
// don't: textArea.setBounds(50, 100, 200, 160);
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setBounds(50, 100, 200, 160);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
S Die Rücktaste und Entfernen in einer Textarea blockieren AWT, Swing, JavaFX & SWT 3
G Feste Größe einer TextArea AWT, Swing, JavaFX & SWT 2
G Kontextmenü zum kkopieren in einer TextArea AWT, Swing, JavaFX & SWT 5
Y Zahlen aus einer Textarea auslesen AWT, Swing, JavaFX & SWT 2
F Graphics2D scale und Positionierung einer TextArea AWT, Swing, JavaFX & SWT 8
F Verschiedene Vordergrundfarben in einer TextArea AWT, Swing, JavaFX & SWT 4
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
MiMa Selektion aus einer ListView AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
J Suche nach einer horizontal aufklappbaren Toolbar AWT, Swing, JavaFX & SWT 1
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
D JavaFX Einbinden einer .fxml AWT, Swing, JavaFX & SWT 1
B Zeile einer Tabelle selektieren AWT, Swing, JavaFX & SWT 1
A Prüfung einer Eingabe auf Gleitkommazahl AWT, Swing, JavaFX & SWT 5
J Suchmaschine einer Datenbank AWT, Swing, JavaFX & SWT 5
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
A Swing JLabels in einer ForEach Schleife an den JPanel anheften (UNO Netzwerkspiel) AWT, Swing, JavaFX & SWT 1
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
M Auswahl aus einer ListView AWT, Swing, JavaFX & SWT 3
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
L Dynamischer Aufbau einer Tabelle über Objekte AWT, Swing, JavaFX & SWT 2
C JavaFX Tief setzen in der Überschrift einer Tabellenspalte AWT, Swing, JavaFX & SWT 3
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
P JavaFX Slider soll Value erst ab einer bestimmten Bedinung aendern AWT, Swing, JavaFX & SWT 19
M Ausgabe der HSL oder RGB Zusammensetzung einer Farbe (JColorChooser AWT, Swing, JavaFX & SWT 1
X Zeilen aus einer Textdatei einzelnd als String abrufen AWT, Swing, JavaFX & SWT 8
R JavaFX Wert einer ChoiceBox bekommen ohne Lambdas AWT, Swing, JavaFX & SWT 11
W Swing bzgl. Tableskalierung/Darstellung einer Matrix AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben