MudGuard: Dynamisches JPanel mit JScrollBar versehen?

Beitrag lesen

Hi,

void addToPane(Container pane) {
  ...
  JScrollPane scrollPane = new JScrollPane(chatScreenArea);
  chatScreenArea.add(scrollPane);
  pane.add(chatScreenArea);
}

When chatScreenArea das JPanel ist, das scrollbar sein soll: nein.

Das zu scrollende Element (chatScreenArea) wird IN das JScrollPane eingesetzt.

Muss ich nun auch eine gesonderte JScrollBar hinzufügen oder ist diese im JScrollPane bereits enthalten?

Natürlich hat das ScrollPane bereits Scrollbars, sonst wär es ja kein ScrollPane.

Ich habe bislang keine Möglichkeit gefunden einzelne Elemente wie beispielsweise Username, Timestamp usw. unabhängig voneinander, innerhalb eines JTextPane zu formatieren. Vermutlich ist es auch gar nicht möglich.

Du hast nur nicht richtig gesucht.

import javax.swing.JTextPane;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;

//...
private Style red;
private JTextPane textPane;
//...
red = textPane.addStyle("Red", null);
StyleConstants.setForeground(red, Color.RED);
//...
StyledDocument doc =  textPane.getStyledDocument();
doc.insertString(doc.getLength(), "roter Text", red);
doc.insertString(doc.getLength(), "Text in Default-Farbe", null);

Außerdem gestalltet sich die Übergabe zwischen den Clients sehr unsauber. (Große, mehrzeilige Strings..)

Wieso sollten nur wegen der Verwendung von JTextPane plötzlich mehrzeilige Strings übergeben werden?
Man kann ja schließlich Text zum JTextPane hinzufügen.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.