2011-06-20 4 views
1

私は例外取得しています:私は、私はどちらかの簡単な何かが足りない、またはAM把握のJavaのGridBagConstraints例外

private GridBagConstraints setConstraints(int fill, int anchor, int gheight, int gwidth, int x, int y, double d, double e, Insets insets, int padx, int pady){ 
    GridBagConstraints c = new GridBagConstraints(); 
    c.fill = fill; 
    c.anchor = anchor; 
    c.gridheight = gheight; 
    c.gridwidth = gwidth; 
    c.gridx = x; 
    c.gridy = y; 
    c.weightx = d; 
    c.weighty = e; 
    c.insets = insets; 
    c.ipadx = padx; 
    c.ipady = pady; 
    return c; 
} 

setConstraintsがこれを行う

//creating the right splitpane 
    JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT); 
    GridBagLayout paneLayout = new GridBagLayout(); 
    sp.setLayout(paneLayout); 
    sp.setContinuousLayout(true); 
    sp.setDividerLocation(100); 

    //setting constraints 
    c = this.setConstraints(GridBagConstraints.ABOVE_BASELINE_TRAILING, GridBagConstraints.NORTH, 1, 1, 2, 2, .5, .5, new Insets(1,1,1,1), 5, 5); 
    paneLayout.setConstraints(treeView, c); 
    c = this.setConstraints(GridBagConstraints.BELOW_BASELINE_TRAILING, GridBagConstraints.SOUTH, 0, 0, 2, 2, .5, .5, new Insets(1,1,1,1), 5, 5); 
    paneLayout.setConstraints(info, c); 

    //adding components 
    sp.setTopComponent(treeView); // Line with the error 
    sp.setBottomComponent(info); 

:私はこのコードを実行しようとするjava.lang.IllegalArgumentException: cannot add to layout: constraints must be a GridBagConstraintを私は何もできないほど大きなバグがあります。何を言ってるの?

MirroredFate

答えて

3

JSplitPaneのは、あなたがのGridBagLayoutに変更するべきではありませんmanager--独自のレイアウトになっています。ペインでGridBagLayoutを使用する場合は、JPanelを作成してJSplitPaneに配置し、そのパネルのレイアウトをGridBagLayoutに設定します。次に、パネルをJSplitPaneに配置し、コントロールをパネルに配置します。