【发布时间】:2013-12-18 04:06:36
【问题描述】:
我正在尝试在JPanel 中使用GridBagLayout,在JLayeredPane 上使用;我有两列,我想增加第二列的范围以防止它被剪裁。
这是我的代码:
JLayeredPane lPane = new JLayeredPane();
lPane.setBounds(0, 0, 1200, 700);
frame.add(lPane, BorderLayout.CENTER);
JPanel left = new JPanel(new GridBagLayout());
left.setBounds(0, 0, 175, 700);
left.setBackground(Color.BLACK);
GridBagConstraints leftGrid = new GridBagConstraints();
JLabel label;
label = new JLabel("Player's Goods:");
leftGrid.fill = GridBagConstraints.NONE;
leftGrid.anchor = GridBagConstraints.NORTHWEST;
leftGrid.insets = new Insets(10,10,10,10);
leftGrid.weighty = 0.5;
leftGrid.gridx = 0;
leftGrid.gridy = 0;
left.add(label, leftGrid);
label = new JLabel("");
leftGrid.weighty = 0;
leftGrid.weightx = 0;
leftGrid.gridx = 0;
leftGrid.gridy = 1;
left.add(label, leftGrid);
label = new JLabel("Nails:");
leftGrid.ipady = 50;
leftGrid.gridx = 0;
leftGrid.gridy = 2;
left.add(label, leftGrid);
label = new JLabel("Wheat:");
leftGrid.gridx = 0;
leftGrid.gridy = 3;
left.add(label, leftGrid);
label = new JLabel("Armor:");
leftGrid.gridx = 0;
leftGrid.gridy = 4;
left.add(label, leftGrid);
label = new JLabel("Gold:");
leftGrid.gridx = 0;
leftGrid.gridy = 5;
left.add(label, leftGrid);
label = new JLabel("Weapons:");
leftGrid.gridx = 0;
leftGrid.gridy = 6;
left.add(label, leftGrid);
label = new JLabel("Spice:");
leftGrid.gridx = 0;
leftGrid.gridy = 7;
left.add(label, leftGrid);
label = new JLabel("0 lbs.");
label.setHorizontalTextPosition(JLabel.LINE_START);
leftGrid.fill = GridBagConstraints.HORIZONTAL;
leftGrid.anchor = GridBagConstraints.WEST;
leftGrid.ipady = 0;
leftGrid.ipadx = 50;
leftGrid.weightx = 1;
leftGrid.gridx = 1;
leftGrid.gridy = 2;
left.add(label, leftGrid);
label = new JLabel("0 lbs.");
leftGrid.gridx = 1;
leftGrid.gridy = 3;
left.add(label, leftGrid);
label = new JLabel("0 lbs.");
leftGrid.gridx = 1;
leftGrid.gridy = 4;
left.add(label, leftGrid);
label = new JLabel("0 lbs.");
leftGrid.gridx = 1;
leftGrid.gridy = 5;
left.add(label, leftGrid);
label = new JLabel("9999 lbs.");
leftGrid.gridx = 1;
leftGrid.gridy = 6;
left.add(label, leftGrid);
label = new JLabel("0 lbs.");
leftGrid.gridx = 1;
leftGrid.gridy = 7;
left.add(label, leftGrid);
label = new JLabel("666 Coins");
leftGrid.ipady = 50;
leftGrid.weighty = 1;
leftGrid.gridx = 1;
leftGrid.gridy = 8;
left.add(label, leftGrid);
lPane.add(left, new Integer(0), 0);
要指定:几乎所有的“0 lbs”。 JLabels(添加 999 磅以了解可能的宽度)似乎是右对齐的。如何使它们左对齐,然后如何调整第一列和第二列之间的空间?
【问题讨论】:
标签: java swing awt layout-manager gridbaglayout