wie in JScrollPane auf JTextArea zugreifen

ernst

Top Contributor
Hallo allerseits,
habe eine JTextArea erstellt, so dass man darin scrollen kann:
myMeldung = new JTextArea(meldung);
sp = new JScrollPane(myMeldung);

Wie kann man nun im folgenden Code auf myMeldung zugreifen, um z.B. einen Text in die
JTextArea myMeldung zu schreiben ?

for (j = 0; j < anz; j++) {
if (comp[j] instanceof JScrollPane) {
// so funktioniert es nicht!
((JTextArea) comp[j]).append("\nBitte warten ...");
}
}

mfg
Ern
 

ernst

Top Contributor
Wieso nicht einfach mittels myMeldung.append("Foo...");?
Weil diese Anweisungen in einem Listener aufgerufen werden.

Durch folgende Anweiungen bekommt man die Informationen:
Container con = ((JButton) (ae.getSource())).getParent();
comp = con.getComponents();

In dem Fenster werden dann die Elemente erzeugt:
myMeldung = new JTextArea(meldung);
sp = new JScrollPane(myMeldung);

Wie kann man nun im folgenden Code auf myMeldung zugreifen, um z.B. einen Text in die
JTextArea myMeldung zu schreiben ?

for (j = 0; j < anz; j++) {
if (comp[j] instanceof JScrollPane) {
// so funktioniert es nicht!
((JTextArea) comp[j]).append("\nBitte warten ...");
}

mfg
ern
 

ernst

Top Contributor
Und? Kannst doch trotzdem direkt die Variable nutzen, musst myMeldung nur an den Listener weiter reichen.

Vielen Dank für dein Posting.
Vielleicht habe ich den Programmteil falsch beschrieben.
Ich weiß leider nicht, wie ich das machen soll.

Zur Info:
1)
Die Methode renameMenue((...) wird in actionPerformed(...), also im Listener aufgerufen.

Java:
    public void actionPerformed(ActionEvent ae) {
        FileOderDirectoryRename myF = new FileOderDirectoryRename();
            myF.renameMenue(ae);
    }

2)
Java:
    public void renameMenue(ActionEvent ae){
        int j = 0;
        int anz = 0;
        int option = 0;
        Container con = ((JButton) (ae.getSource())).getParent();
        comp = con.getComponents();
        anz = con.getComponentCount();
        JFileChooser chooser = new JFileChooser();
        chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        chooser.setMultiSelectionEnabled(true);
        chooser.setApproveButtonText("Umbenennung starten");
         option = chooser.showDialog(null, null);

        if (option == JFileChooser.APPROVE_OPTION) {
             File[] dirFiles = chooser.getSelectedFiles();

            for (j = 0; j < anz; j++) {
                if (comp[j] instanceof JTextArea) {                    
                //if (comp[j] instanceof JScrollPane) { 
                    ((JTextArea) comp[j]).append("\nBitte warten ..."); 
                    //((JScrollPane) comp[j]).g.getComponent(2).append("\nBitte warten ...");                     
                    merke = j;
                    System.out.println("merke="+merke);
                }
            }



mfg
Ern
 
Zuletzt bearbeitet von einem Moderator:

mrBrown

Super-Moderator
Mitarbeiter
Und? Kannst doch trotzdem direkt die Variable nutzen, musst myMeldung nur an den Listener FileOrFolderRename weiter reichen. ;)
 

mrBrown

Super-Moderator
Mitarbeiter
Natürlich geht es anders, aber warum sollte man den Umweg gehen, wenn es einen einfachen und offensichtlichen Weg gibt?

Etwa:
Java:
    public void actionPerformed(ActionEvent ae) {
        FileOderDirectoryRename myF = new FileOderDirectoryRename(myMeldung);
            myF.renameMenue(ae);
    }

Java:
class FileOderDirectoryRename {

    final TextArea textArea;


    public FileOderDirectoryRename(TextArea textArea) {
        this.textArea = textArea;
    }

    public void renameMenue(ActionEvent ae){
        int j = 0;
        int anz = 0;
        int option = 0;
        Container con = ((JButton) (ae.getSource())).getParent();
        comp = con.getComponents();
        anz = con.getComponentCount();
        JFileChooser chooser = new JFileChooser();
        chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        chooser.setMultiSelectionEnabled(true);
        chooser.setApproveButtonText("Umbenennung starten");
         option = chooser.showDialog(null, null);

        if (option == JFileChooser.APPROVE_OPTION) {
             File[] dirFiles = chooser.getSelectedFiles();
             this.textArea.append("\nBitte warten ..."); 
        }
     //....
 

ernst

Top Contributor
>
>Natürlich geht es anders, aber warum sollte man den Umweg gehen,
>wenn es einen einfachen und offensichtlichen Weg gibt?
>

Vielen Dank für deine Tipps.
Ich dachte, dass es eine Methode gibt, mit der man aus der JScrollPane Komonente das JTextArea "rausoperieren" kann, bzw. die die JTextArea liefert.
Ist so etwas nicht möglich ?

mfg
ern
 

mrBrown

Super-Moderator
Mitarbeiter
Ich dachte, dass es eine Methode gibt, mit der man aus der JScrollPane Komonente das JTextArea "rausoperieren" kann, bzw. die die JTextArea liefert.
Ist so etwas nicht möglich ?
Doch, ScrollPane suchen, über dessen Komponenten iterieren und die TextArea suchen.

Wenn es sich vermeiden lässt, sollte man das aber vermeiden.
 

ernst

Top Contributor
Doch, ScrollPane suchen, über dessen Komponenten iterieren und die TextArea suchen.
Wenn es sich vermeiden lässt, sollte man das aber vermeiden.
Ok, man soll es vermeiden.
Aus Gründen der Übung will ich es versuchen.
Doch habe ich keine Idee, wie ich an ScrollPane "andocken" kann, d.h. wo ich einen Angriffspunkt finde, über den ich dann die Elemente von ScrollPane untersuchen kann.
Hast du da eine Idee ?

mfg
Ern
 

ernst

Top Contributor
Einfach mit JScrollPane#getComponents

Unten mein Programmausschnitt.
Mit
temp=(JScrollPane)comp[j];
wird mein JScrollPane gefunden.
Aber meine JTextArea wird nicht gefunden:
if (tempComp[k] instanceof JTextArea) {
wird leider nie wahr.
Warum ?


Java:
            Component tempComp[];           
            for (j = 0; j < anz; j++) {
                if (comp[j] instanceof JScrollPane) {    
                    JScrollPane temp;
                    temp=(JScrollPane)comp[j];        // <-- bis hier hin klappt es
                    tempComp=temp.getComponents();
                    for (int k = 0; k < anz; k++) {
                        if (tempComp[k] instanceof JTextArea) {    // <-- wird nie wahr!
                            JTextArea textAreaTemp;
                            textAreaTemp=(JTextArea) tempComp[k];
                            textAreaTemp.append("\nDies ist ein Test hoffentlich funktioniert es  ...");
                        }
                    }
                }
            }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
L JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 7
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
N Swing JTextArea/JScrollpane: JScrollbar position AWT, Swing, JavaFX & SWT 8
w0ddes Swing JTextArea auf JScrollPane - Autoscroll?! AWT, Swing, JavaFX & SWT 2
C Breite JTextArea/JScrollPane setzen AWT, Swing, JavaFX & SWT 4
7 JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 8
N Mehrere JTextArea in einem JPanel und eine JScrollPane AWT, Swing, JavaFX & SWT 3
L JTextArea in JScrollPane verkleinert sich nicht mehr AWT, Swing, JavaFX & SWT 8
Tom299 JScrollPane(JTextArea) Scrollbar soll am Anfang stehen AWT, Swing, JavaFX & SWT 2
D JTextArea mit einer JScrollPane AWT, Swing, JavaFX & SWT 2
vogella JScrollPane und JTextArea AWT, Swing, JavaFX & SWT 6
B JTextArea und JScrollPane und DocumentListener AWT, Swing, JavaFX & SWT 2
C sorry aber JScrollPane mit JTextArea AWT, Swing, JavaFX & SWT 4
M JTextArea in JScrollPane, Problem mit Thread.sleep() AWT, Swing, JavaFX & SWT 5
S JTextarea in JScrollpane -> scroll, Zeilenbeschränkung AWT, Swing, JavaFX & SWT 2
S Größe von jPanel bzw. jTextArea (in jScrollpane) anpassen AWT, Swing, JavaFX & SWT 1
G JTextArea + JScrollPane + JTabbedPane AWT, Swing, JavaFX & SWT 8
B JTextArea in GridBagLayout mit JScrollPane AWT, Swing, JavaFX & SWT 5
B JTextArea, JScrollPane und Java 1.5 AWT, Swing, JavaFX & SWT 4
D Alle Inhalte einer JTextArea in einem JScrollPane löschen AWT, Swing, JavaFX & SWT 2
B JTextArea mit GridBagLayout und JScrollPane. AWT, Swing, JavaFX & SWT 4
Z JTextArea in JScrollPane automatisch scrollen AWT, Swing, JavaFX & SWT 2
C JScrollPane und JTextArea AWT, Swing, JavaFX & SWT 3
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
B Swing JScrollPane scrollt nicht AWT, Swing, JavaFX & SWT 10
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
N Swing JScrollPane mit Tastatur bedienen? AWT, Swing, JavaFX & SWT 0
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
P Swing JEditorPane in Kombination mit JScrollPane AWT, Swing, JavaFX & SWT 29
S Swing jScrollPane - pro Eintrag der Liste, die jCheckBoxes Speichern die in dem Eintrag aktiviert wurden AWT, Swing, JavaFX & SWT 2
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
MaxG. Swing JScrollPane AWT, Swing, JavaFX & SWT 10
Soloeco Swing JScrollPane AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
P MalProgramm mit JScrollPane und Canvas AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
W Swing Größenänderung vom JPanel im JScrollPane und anschließendes positionieren AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
Bluedaishi JScrollpane AWT, Swing, JavaFX & SWT 0
L JScrollPane scrollt nicht !! AWT, Swing, JavaFX & SWT 3
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
R JScrollPane überdeckt JPanel? AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
F JTable mit JScrollPane AWT, Swing, JavaFX & SWT 4
I JPanel in JScrollPane verkleinert sich leider nicht .... AWT, Swing, JavaFX & SWT 2
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
B Swing JPanel in JScrollPane einfügen AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Transparentes JScrollPane AWT, Swing, JavaFX & SWT 0
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
R Ändern Default-Verhalten von JScrollpane in einer JScrollpane AWT, Swing, JavaFX & SWT 1
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
A Swing JScrollPane Problem AWT, Swing, JavaFX & SWT 6
H Swing JScrollPane mit "viel Inhalt" scrollt zu langsam (inkl. See-For-Yourself.jar :D) AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane in JScrollPane - Problem AWT, Swing, JavaFX & SWT 3
K Bug in JScrollPane? AWT, Swing, JavaFX & SWT 4
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
M JScrollPane Header AWT, Swing, JavaFX & SWT 3
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
V LayoutManager JScrollPane verwirft Elementanordnung AWT, Swing, JavaFX & SWT 3
B JScrollPane Problem AWT, Swing, JavaFX & SWT 2
D Swing JScrollPane AWT, Swing, JavaFX & SWT 7
H cardlayout und jscrollpane AWT, Swing, JavaFX & SWT 14
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
B JScrollPane Horizontal klappt nicht. AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
C jPanel auf jScrollPane zentrieren AWT, Swing, JavaFX & SWT 3
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A Swing Korrekte JTable.rowAt(point) für JTable in JScrollPane AWT, Swing, JavaFX & SWT 5
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
S JScrollPane reagiert nicht AWT, Swing, JavaFX & SWT 3
X JScrollPane zu JTable hinzufügen AWT, Swing, JavaFX & SWT 16
H JScrollPane - JEditorPane und HTML-Tabelle AWT, Swing, JavaFX & SWT 2
D LayoutManager JScrollPane mit dynamischem Inhalt AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben