JSplitPane reagiert nicht auf SetDeviderLocation()

Status
Nicht offen für weitere Antworten.

jabbah

Mitglied
Hallo,

ich habe in meinem Dialog eine JSplitPane. Im oberen Teil befindet sich eine JTable in einer JScrollPane und im unteren Teil befindet sich eine JTextArea ebenfalls in einem JScrollPane. Im JTextArea wird erst Text angezeigt, wenn in der JTable etwas selektiert wurde. Falls nichts selektiert wurde wird einfach ein leerer String ausgegeben. Da beim Starten des Dialogs nichts selektiert ist, wird auch kein Text angezeigt. Trotzdem soll die leere JTextArea ein viertel des Dialoges einnehmen. Das wird ja mittels
Code:
 JSplitPane.setDeviderLocation(0.75);
angegeben.
Aber trotzdem ist wird nur ein schmaler weißer Streifen in meiner JTextPane angezeigt, die auf keinen Fall ein viertel des Dialoges einnehmen.
 
Code:
/*
 * SplitTest2.java
 */
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class SplitTest2 extends JFrame {
    public SplitTest2() {
        setSize(400,300);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setVisible(true);
        new MeinDialog(this, true);
    }
    public static void main(String args[]) {new SplitTest2();}
}
class MeinDialog extends JDialog{
    public MeinDialog(Frame parent, boolean modal){
        super(parent, modal);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        setSize(380,280);
        setLocationRelativeTo(parent);
        jSplitPane1 = new JSplitPane();
        jTable1 = new JTable();
        jTextArea1 = new JTextArea();
        jSplitPane1.setDividerLocation(130);
        jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);
        jTable1.setModel(new DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jSplitPane1.setTopComponent(new JScrollPane(jTable1));
        jTextArea1.setColumns(20);
        jTextArea1.setRows(10);
        jSplitPane1.setBottomComponent(new JScrollPane(jTextArea1));
        getContentPane().add(jSplitPane1, BorderLayout.CENTER);
        setVisible(true);
    }
    private JSplitPane jSplitPane1;
    private JTable jTable1;
    private JTextArea jTextArea1;
}
 
danke , aber ich hatte schon eine ösung gefunden, nur vergessen hier dies anzugeben.
hatte einfach beim TextArea gesagt, dass ich auf alle fälle 3 Zeilen haben möchte und schon hat es geklappt
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben