JScrollPane in JFrame und JTextArea

Tancoast

Grünschnabel
Hallo Leute,

ich habe folgendes (reduzierte) JFrame mit einem Absoluten BorderLayout erstellt.
----------------------------------------------------------------------------------------------------------------------
public class MainWindow extends javax.swing.JFrame {
...
public MainWindow() throws IOException {
super();
initGUI();
}
...
private void initGUI() {
try {
getContentPane().setLayout(null);
...
consoleTextArea = new JTextArea();
consoleTextArea.setEditable(false);
getContentPane().add(consoleTextArea);
consoleTextArea.setBounds(35, 455, 847, 168);
consoleTextArea.setBorder(BorderFactory.createEtchedBorder());
}
pack();
this.setSize(925, 731);
...
}
----------------------------------------------------------------------------------------------------------------------
Jetzt möchte ich folgendes:
- Dem JFrame sollen Scrollbalken hinzugefügt werden, wenn es kleiner gemacht wird
- Und der TextArea auch (bzw. dann wenn ihr so viel Text hinzugefügt wird, dass der vorgegebene Platz nicht ausreicht)
Wenn ich beiden aber einfach ein JScrollPane hinzufüge funktioniert das leider nicht.

Ich hoffe es kann mir jemand weiterhelfen

lg Chris
 
Dein Ansatz war schon richtig. Jedoch mußt Du die Wunschabmessungen mit der Methode setPreferredSize(...) festlegen. Wenn der äußere Bereich kleiner wird, erscheint der Scrollbalken.
 
Hey Danke für Deine Antwort. Leider hat das nicht funktioniert. Habe aber jetzt einen Weg gefunden (zumindestens für die TextArea). Wie folgt:

consoleTextArea = new JTextArea();
consoleTextArea.setBorder(BorderFactory.createEtchedBorder());
consoleTextArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(consoleTextArea);
scrollPane.setBounds(35, 420, 850, 190);
getContentPane().add(scrollPane);

Leider funktioniert das für eine JTable innerhalb des Frames und den Frame selber nicht. D.h. wenn ich folgendes schreibe, geht es nicht:
...
remoteTable = new JTable();
remoteTable.setModel(remoteTableModel);
JScrollPane scrollPane = new JScrollPane(remoteTable);
remoteTable.setBounds(511, 40, 371, 329);
getContentPane().add(scrollPane);
...

Hat da jemand ne Idee?
 
Zurück