##这是SubPaneli类。
当我只放置两个标签时,标签会垂直显示我想要的但是当我放置第三个标签时,它会垂直移动并且在那个weightx的顶部并且重量不起作用我已经附加了代码结果的图像。我正在使用网格布局。我使用它错了或什么?我想要一些帮助
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.*;
import javax.swing.border.Border;
class SubPanelI extends JPanel {
JLabel Title,Ylabel,Xlabel,Xstart,Xinterval;
JTextField Ylabelf,Xlabelf,Xstartf,Xintervalf;
public SubPanelI()
{
Dimension dim = getPreferredSize();
dim.width=400;
setPreferredSize(dim);
Border innerBorder = BorderFactory.createTitledBorder("LABEL");
Border outerBorder = BorderFactory.createEmptyBorder(5,5,5,5);
setBorder(BorderFactory.createCompoundBorder(outerBorder,innerBorder));
// Title= new JLabel("Tile:");
Ylabel = new JLabel("YLabel: ");
Ylabelf = new JTextField(10);
Xlabel= new JLabel("XLabel: ");
Xlabelf = new JTextField(10);
Xinterval = new JLabel("XInterval: ");
Xintervalf = new JTextField(10);
setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
/////////////////first row/////////////////////////////
gc.weightx=1;
gc.weighty=0.1;
gc.gridx=0;
gc.gridy=0;
gc.fill = GridBagConstraints.NONE;
gc.anchor =GridBagConstraints.LINE_END;
add(Ylabel, gc);
gc.gridx =1;
gc.gridy =0;
gc.anchor =GridBagConstraints.LINE_START;
add(Ylabelf, gc);
////////////////Second row/////////////////////////
gc.weightx=1;
gc.weighty=0.1; ;
gc.gridx =0;
gc.gridy =1;
gc.anchor =GridBagConstraints.LINE_END;
add(Xlabel, gc);
gc.gridx =1;
gc.gridy =1;
gc.anchor =GridBagConstraints.LINE_START;
add(Xlabelf, gc);
///////////////third row///////////////////////
gc.weightx=1;
gc.weighty=1.0;
gc.gridx =2;
gc.gridy =1;
gc.anchor =GridBagConstraints.LINE_END;
add(Xinterval);
gc.gridx =1;
gc.gridy =2;
gc.anchor =GridBagConstraints.LINE_START;
add(Xintervalf);
}
}