我正在扩展JButton函数以便自动完成一些事情,所以我只添加了这个函数:
public void addButton(Container container, int left, int top, int width, int height)
{
this.setBounds(left, top, width, height);
this.setSize(width, height);
container.add(this);
this.repaint();
}
我在我的面板中运行此代码:
buttonLeft = new extendedButton("Left");
buttonMiddle = new extendedButton("Middle");
buttonRight = new extendedButton("Right");
Insets inset = this.getInsets();
setLayout(null);
Container c = getContentPane();
buttonLeft.addButton(c, inset.left, inset.top, 150, 50);
buttonMiddle.addButton(c, inset.left + buttonLeft.WIDTH, inset.top, 150, 50);
buttonRight.addButton(c, inset.left + buttonLeft.WIDTH + buttonRight.WIDTH, inset.top, 150, 50);
然而,虽然我希望按钮看起来与另一个按钮相邻,但它们似乎一个在另一个上面,一个像素在右边。但是,如果我用150替换.WIDTH参数,它会按预期工作,有关为什么.WIDTH拒绝给出我设置的值的任何线索?
我没有使用布局,我把它作为参数给了它。