2016-03-23 6 views
2

Ich habe diesen Code:Ich kann nicht sehen Schwingen JSeparator

JPanel jpMainExample = new JPanel(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT)); 
    jpMainExample.add(new JLabel("JLabel")); 
    jpMainExample.add(new JTextField("JTextField")); 
    jpMainExample.add(new JSeparator(JSeparator.VERTICAL)); 
    jpMainExample.add(new JRadioButton("JRadioButton")); 
    jpMainExample.add(new JSeparator(SwingConstants.VERTICAL)); 
    jpMainExample.add(new JComboBox<>(new String[] {"JComboBox"})); 
    jpOUT.add(jpMainExample); 

Aber ich kann nicht das Trennzeichen sehen.

enter image description here

Was ist falsch?

+2

Werfen Sie einen Blick auf http://stackoverflow.com/questions/2425729/jseparator-wont-show-with-gridbaglayout. Es adressiert ein anderes Layout, kann aber helfen. – bradimus

+0

* "Ich kann das Trennzeichen nicht sehen." * In einigen PLAFs ist ein Trennzeichen unsichtbar (nimmt aber immer noch Platz in Anspruch). Wie erscheint die Komponentenplatzierung ohne die Trennzeichen? –

+1

Warum hat keine der [Ihre vorherigen Fragen] (http://stackoverflow.com/users/5113188/qa-col) eine Antwort [angenommen] (http://meta.stackexchange.com/a/5235/155831) ? –

Antwort

4

Die bevorzugte Größe des Separators ist (2, 0). Ein FlowLayout respektiert die bevorzugte Größe. Da die Höhe 0 ist, gibt es nichts zu malen.

Sie müssen also einen anderen Layout-Manager verwenden, der die Größe der Komponente ändert, um den vertikal verfügbaren Platz zu füllen.

Schauen Sie sich den Abschnitt aus dem Swing-Tutorial auf How to Use Separators für ein funktionierendes Beispiel. Es zeigt, wie man eine BoxLayout benutzt.

Verwandte Themen