Swing-Oberfläche verhält sich nicht wie gewünscht

	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private MenuBar mb=new MenuBar();
	private JPanel mainPanel=new JPanel();
	private JScrollPane jsp;
	private JEditorPane jep;
	private TabbedPane tabbedPane=new TabbedPane();
	
	public MainFrame(){
		ResLinker rl=new ResLinker();
		this.setSize(Toolkit.getDefaultToolkit().getScreenSize());
		this.setLocation(0,0);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setTitle(rl.getTitle());
		this.setJMenuBar(mb);
		this.setVisible(true);
		rl.checkTheme();
		this.setIconImage(new ImageIcon("img/java.png").getImage());
		this.setLayout(new BorderLayout(5,5));
		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
		mainPanel.setBorder(new SoftBevelBorder(SoftBevelBorder.RAISED));
		tabbedPane.setPreferredSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height*7/10));
		mainPanel.add(tabbedPane);
		mainPanel.setPreferredSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height*7/10));
		this.add(mainPanel,BorderLayout.PAGE_START);
		jep=new JEditorPane();
		jep.setEditable(false);
		jep.setBackground(Color.WHITE);
		jep.setMinimumSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height*16/100));
		jsp=new JScrollPane();
		jsp.setPreferredSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height*18/100));
		jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
		jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		jsp.setBorder(new BevelBorder(BevelBorder.LOWERED));
		jsp.add(jep);
		this.add(jsp,BorderLayout.PAGE_END);
		jep.setText("

j
l

u

o
tttttttt

hhhhhhhhhhhh");
	}
}```

Ergibt folgende Oberfläche...

Die Scrollleisten werden erst nach verkleinern und nachherigem maximieren angezeigt. Von dem Editor(Der Variable 'jep') ist nichts zu sehen, wie kommt das?

Ich hoffe mal nicht dass du gerade AWT (Heavy Components) mit Swing (lightweight components) mischst oder?
Da waere naemlich MenuBar (JMenuBar) und TabbedPane (JTabbedPane). Falls das awt ist dann liegt es wahrscheinlich daran.

Nein,
das hätte ich erwähnen sollen. Alle Klassen sind aus dem oder erben aus dem Swing-Package so natürlich auch TabbedPane und MenuBar.

Man ruft setVisible am Ende auf und nicht vor rl.checkTheme… Das kann es loesen

Und ruf alles aufn EDT

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable () {

    public void run(){
         // hier GUI erstellen
    }
    });
}```

Danke für die Ideen. Aber keine funktioniert. Vom Editor nichts zu sehen.

Willst du mir kurz erklaeren was deine JEditorPane machen soll? Soll die vielleicht nicht in die TabbedPane? Weil mir gefalen die Constraints nicht…

Der Editor soll das Protokoll ausgeben. Er soll nicht im TabbedPane sein, er soll unter dem TabbedPane in dem JScrollPane untergebracht sein.

Also soll die TabbedPane CENTERed sein und die JScrollPane SOUTH_

Was für ein Wirrwarr. Bau deine GUI einfach mal nach und nach neu auf, füge die Komponenten einzeln hinzu und schau, was passiert. Oder geb den Komponenten Hintergrundfarben, dann siehst du, ob und wo sie hinzugefügt werden, und auch ihre Ausdehnung und Grösse im LayoutManager. Das hilft mir zumindest meistens…

Also ich seh das editor pane. Vielleicht solltest du dir das setEditable(false) sparen?