1

我正在扩展 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);

但是,尽管我希望这些按钮一个接一个地出现,但它们似乎一个在另一个之上,一个像素在右边。但是,如果我将 .WIDTH 参数替换为 150,它会按预期工作,关于为什么 .WIDTH 拒绝给出我设置的值的任何线索?我没有使用布局,我给它 null 作为参数。

4

0 回答 0