JScrollPane & Null-Layout

Status
Nicht offen für weitere Antworten.

Jens81

Gesperrter Benutzer
Hallo zusammen,

ich möchte / muss eine scrollbare JEditorPane erstellen ohne einen LayoutManager zu verwenden.

Grundlage ist ein JPanel dessen Größe und Position mit setBounds() festgelegt ist. Darauf liegt das JScrollPane. Als Parameter wird ihm JEditorPane übergeben. Die Größen und Positionen vom JScrollPane und JEditorPane sind ebenfalls über setBounds festgelegt.

Das JPanel verwendet keinen Layoutmanager (null).

Wie schaffe ich es, trotzdem Scrollbalken am EditorPane zu bekommen?

Danke und Gruß,
Jens

Ausschnitt aus dem Konstruktor:
Java:
JEditorPane ausgabe = new JEditorPane();
JPanel ausgabeArea = new JPanel();
JScrollPane f3 = new JScrollPane(ausgabe);
		
ausgabeArea.setLayout(null);
f3.setLayout(null);
		
f3.setBounds(10,190,550,285);
f3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		
ausgabe.setBounds(10, 10, 520, 265);
f3.add(ausgabe);
ausgabe.setText("...");
		
ausgabeArea.add(f3);
 
Zuletzt bearbeitet:

Verjigorm

Top Contributor
Sobald die inhaltende JEditorpane größer wird als der Viewport der JScrollpane tauchen die Scrollbalken automatisch auf (ausser du hast sie deaktiviert)


edit zum Quellcode:
Wieso setzt du das Layout der JScrollpane auf null???
 

Jens81

Gesperrter Benutzer
Das Problem ist, dass der vertikale Scrollbalken nicht auftaucht, auch wenn mehr Zeilen in die Ausgabe geschrieben werden als angezeigt werden können.

Zu deinem Edit: Das Layout setze ich auf null, da sonst die ausgabe erst angezeigt wird, wenn der Inhalt geändert wird (und nicht von Beginn an). Hat aber auf die Scroll-Problematik keine Auswirkung (zumindest löst ein Auskommentieren das Problem nicht).
 

max40

Bekanntes Mitglied
Java:
final JEditorPane ausgabe = new JEditorPane();
final JPanel ausgabeArea = new JPanel(null);
final JScrollPane f3 = new JScrollPane(ausgabe);
        
f3.setBounds(10,190,550,285);
f3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

ausgabe.setText("...");
        
ausgabeArea.add(f3);

so sollte es gehen!
 

Jens81

Gesperrter Benutzer
Ohne Angabe von Layoutmanager wird gar nichts angezeigt.

Wie "verknüpfst" du JEditorPane (ausgabe) und JScrollPane (f3)?
 

L-ectron-X

Gesperrter Benutzer
Java:
import javax.swing.*;

public class TextEditor extends JFrame {
   private JEditorPane ep;
   
   public TextEditor() {
      super("TextEditor");
      setSize(800, 600);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
      ep = new JEditorPane();
      add(new JScrollPane(ep));
      
      setVisible(true);
   }
   
   public static void main(String[] args) {
      new TextEditor();
   }
}
 

Jens81

Gesperrter Benutzer
Solange ich einen Layout-Manager verwende, funktioniert alles. Die Frage ist, wie man es ohne löst...

Sobald ich das JEditorPane nicht zusätzlich mit add() auf das JScrollPanel setze, wird es nicht mehr angezeigt.

Der komplette Konstruktor falls es helfen sollte....:
Java:
	public ModelManager() {
        DefaultMutableTreeNode top = new DefaultMutableTreeNode("Data Mining");
        createNodes(top);
        tree = new JTree(top);
        tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.addTreeSelectionListener(this);
		
		JSplitPane hTrennung = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
		JSplitPane vTrennung = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
		
		ausgabe = new JEditorPane();
	
		JPanel kopfPanel = new JPanel();
		JScrollPane f1 = new JScrollPane(tree);
		JScrollPane f2 = new JScrollPane(kopfPanel);
		JPanel ausgabeArea = new JPanel();
		JPanel buttonArea = new JPanel();
		JScrollPane f3 = new JScrollPane(ausgabe);
		
		vTrennung.setLeftComponent(f1);
		vTrennung.setRightComponent(hTrennung);
		vTrennung.setDividerLocation(200);
		vTrennung.setPreferredSize(new Dimension(780, 565));
		
		hTrennung.setTopComponent(f2);
		hTrennung.setBottomComponent(ausgabeArea);
		hTrennung.setDividerLocation(80);
		hTrennung.setDividerSize(5);
		hTrennung.setEnabled(false);
		
		JLabel head = new JLabel("", JLabel.CENTER);
		head.setText("DM Model Manager");
		head.setFont(new Font("Arial", 0, 24));
		kopfPanel.add(head);
		
		ausgabeArea.setLayout(null);
		buttonArea.setLayout(null);
		//f3.setLayout(null);
		
		buttonArea.setBounds(10,10,550,170);
		f3.setBounds(10,190,550,285);
		f3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		
		ausgabe.setBounds(10, 10, 520, 265);
		f3.add(ausgabe);
		ausgabe.setText("Log Fenster\r\n-------------------");
		
		JButton button1 = new JButton("Connect");
		JButton button2 = new JButton("Disconnect");
		JButton button3 = new JButton("Laden");
		JButton button4 = new JButton("Beenden");
		
		button1.setBounds(10,  10, 140, 30);
		button2.setBounds(10,  50, 140, 30);
		button3.setBounds(10,  90, 140, 30);
		button4.setBounds(10, 130, 140, 30);
		
		button1.addActionListener(this);
		button2.addActionListener(this);
		button3.addActionListener(this);
		button4.addActionListener(this);
		
		buttonArea.add(button1);
		buttonArea.add(button2);
		buttonArea.add(button3);
		buttonArea.add(button4);
		buttonArea.setBorder(BorderFactory.createEtchedBorder());
		
		f3.setPreferredSize(new Dimension(520,265));
		System.out.println(f3.getPreferredSize());
		ausgabeArea.add(buttonArea);
		ausgabeArea.add(f3);
		
		this.add(vTrennung);
	}
 
Zuletzt bearbeitet:

max40

Bekanntes Mitglied
ich versteh nicht wirklich warum du dem ScrollPane den LayoutManager entziehen willst!?
 

L-ectron-X

Gesperrter Benutzer
Es gibt fast nie einen Grund für die Verwendung von NullLayout. Es schafft mehr Probleme als es lösen kann.
 

Jens81

Gesperrter Benutzer
In Kombi mit dem Tipp von Max und dem Layoutmanager geht's.. danke
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O JScrollPane beinhaltet JPanel mit null Layout kein Scrollen 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
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
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
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
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
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
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
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
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
P Swing JScrollpane AWT, Swing, JavaFX & SWT 2
B JScrollPane scrollt nicht immer automatisch AWT, Swing, JavaFX & SWT 2
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
J JScrollPane Probleme AWT, Swing, JavaFX & SWT 3
S Swing JScrollPane verliert Scrollbars AWT, Swing, JavaFX & SWT 5
D Swing JTable in JScrollpane beliebig verbreitern AWT, Swing, JavaFX & SWT 5
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
J Swing Unteren Abstand für JTable in JScrollPane festlegen AWT, Swing, JavaFX & SWT 10
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
M JScrollPane Problem AWT, Swing, JavaFX & SWT 6
S Swing JScrollpane und ViewPort AWT, Swing, JavaFX & SWT 4
D JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 12
X JScrollPane funzt net... AWT, Swing, JavaFX & SWT 5
H jscrollpane AWT, Swing, JavaFX & SWT 12
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
A Problem mit JScrollPane in einer JScrollpane AWT, Swing, JavaFX & SWT 4
B JScrollPane Problem AWT, Swing, JavaFX & SWT 25
T Swing JScrollPane- und Tabelle-Header Problem AWT, Swing, JavaFX & SWT 25
P Swing JScrollPane-Inhalt: Grösse anpassen AWT, Swing, JavaFX & SWT 6
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
A JScrollPane AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben