leere JTextArea wird nicht angezeigt - TextArea aber schon?

  • Themenstarter Themenstarter NichtZuFassen
  • Beginndatum Beginndatum
N

NichtZuFassen

Gast
Hallo zusammen,

ich arbeite mich gerade mal in Swing ein - und schon gibts Probleme 🙂
Eigentlich wollte ich nur ein einfaches Fenster machen, dass nur eine leere JTextArea beinhaltet.

Das Problem:
Wenn ich dem Konstruktor für die JTextArea nichts übergebe, dann öffnet sich ein Fenster - aber eine Textarea kann ich nicht sehen. Hier der Code:

Java:
public static void main(String[] args) {
        JFrame frame = new JFrame();

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new FlowLayout());
        frame.setSize(500, 300);


        JTextArea area = new JTextArea("");
        area.setSize(300, 10);
        area.setVisible(true);
        frame.add(area);


        frame.setVisible(true);
    }

Trage ich in den Konstruktor "123" ein, dann sehe ich zwar "123" im Fenster, aber es ist nicht mal im Ansatz erkennbar, dass das ne Textarea sein soll. Obwohl ich eine Size vorgegeben habe, ist die JTextArea gerade mal so groß wie der Text, den sie umgibt.

So wie es sein sollte kann man sehen, wenn man auf die AWT-Klasse TextArea zurückgreift:

Code:
        JTextArea area = new JTextArea("");

Es kann doch nicht sein, dass das alte "System" besser funktioniert als das neue System. Ich mache sicher was falsch, aber ich weiß leider nicht was. Könntet Ihr mir helfen?

Vielen Dank und liebe Grüße,
Stefan
 
Versuche mal einen Text einzugeben 😉 also
Java:
public static void main(String[] args) {
        JFrame frame = new JFrame();
 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new FlowLayout());
        frame.setSize(500, 300);
 
 
        JTextArea area = new JTextArea("Du hast mich nicht gesehen?");
        area.setSize(300, 10);
        area.setVisible(true); // <------ unnötig
        frame.add(area);
 
 
        frame.setVisible(true);
    }


TextArea ist in dem Fall unsichtbar, weil kein Text zum Anzeigen vorhanden ist.
 
versuch mal:

Java:
area.setPreferredSize(new java.awt.Dimension(300, 100));


Danke - das scheint tatsächlich zu gehen. Allerdings bricht der dann den Text nicht um, wenn ich welchen reinschreibe.
Wahrscheinlich sind das voll die Dummy-Fragen, aber das ist für mich halt Neuland und da brauch ich jemanden, der mich an die Hand nimmt 🙂

Wie stell ich also ein, dass
a) der Umbruch automatisch stattfindet
b) evtl. Scrollbalken zu sehen sind?

LG
Stefan
 
Wie stell ich also ein, dass
a) der Umbruch automatisch stattfindet
b) evtl. Scrollbalken zu sehen sind?
Ein einfaches googeln nach "jtextarea zeilenumbruch" bringt mir diese Lösung:
Java:
JTextArea textArea = new JTextArea(10, 10);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
 
add(new JScrollPane(textArea));
Die JTextArea muss dann auch noch in ein JScrollPane gesteckt werden, damit die Scrollbalken erscheinen.
 

Neue Themen


Zurück
Oben