明明是从gridx=0, gridy=0开始布局的,不过发现部件离panel顶部距离很远,没用填充。试了archor想放在顶部也没用,这是怎么回事?panel是加在一个frame里,不受其他部分影响。部分代码:protected static JPanel PanelDemo () {
JPanel panel = new JPanel(false);
JLabel team = new JLabel("<html><font size=4 color =red>XX</font></html>",SwingConstants.CENTER);
JLabel description = new JLabel("");
JButton sbutton1 = new JButton("add");
JButton sbutton2 = new JButton("remove");
JList listPanelleft = new JList();
listPanelleft.setFixedCellWidth(150);
listPanelleft.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane teamlist = new JScrollPane(listPanelleft);
Border border = LineBorder.createGrayLineBorder();
panel.setBorder(border);
team.setBorder(border);
description.setBorder(border);
panel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.weightx = 0.5;
c.fill = GridBagConstraints.BOTH;
c.anchor=GridBagConstraints.PAGE_START;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 0;
panel.add(team,c);
c.gridheight = 3;
c.gridx = 0;
c.gridy = 1;
panel.add(teamlist,c);
c.gridheight = 1;
c.gridwidth = 3;
c.gridx = 0;
c.gridy=4;
panel.add(description,c);
c.gridwidth = 1;
c.gridx = 1;
c.gridy=2;
panel.add(sbutton1,c);
c.gridheight = 1;
c.gridx = 1;
c.gridy=3;
panel.add(sbutton2,c);
return panel;
}
JPanel panel = new JPanel(false);
JLabel team = new JLabel("<html><font size=4 color =red>XX</font></html>",SwingConstants.CENTER);
JLabel description = new JLabel("");
JButton sbutton1 = new JButton("add");
JButton sbutton2 = new JButton("remove");
JList listPanelleft = new JList();
listPanelleft.setFixedCellWidth(150);
listPanelleft.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane teamlist = new JScrollPane(listPanelleft);
Border border = LineBorder.createGrayLineBorder();
panel.setBorder(border);
team.setBorder(border);
description.setBorder(border);
panel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.weightx = 0.5;
c.fill = GridBagConstraints.BOTH;
c.anchor=GridBagConstraints.PAGE_START;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 0;
panel.add(team,c);
c.gridheight = 3;
c.gridx = 0;
c.gridy = 1;
panel.add(teamlist,c);
c.gridheight = 1;
c.gridwidth = 3;
c.gridx = 0;
c.gridy=4;
panel.add(description,c);
c.gridwidth = 1;
c.gridx = 1;
c.gridy=2;
panel.add(sbutton1,c);
c.gridheight = 1;
c.gridx = 1;
c.gridy=3;
panel.add(sbutton2,c);
return panel;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货