2

每当我将我的 jbutton 添加到我的容器中时,它真的很大。我认为使用 label.setBounds() 函数会起作用,但它没有

public Liability_Calculator(String s)
{
    super(s);
    setSize(325,200);
    Color customColor = Color.WHITE;

    c = getContentPane();
    c.setLayout(new BorderLayout());


    //the button
    ok = new JButton("OK");

    //ok.setSize(50, 50);

    //HERE IS WHERE I TRY AND RESIZE!
    ok.setBounds(30,30,50,50);

    c.add(ok, BorderLayout.SOUTH);

    setVisible(true);
} 
4

1 回答 1

2

建议:

  • 您将需要阅读布局管理器
  • 理解为什么你的 GUI 会这样
  • 并了解如何利用布局管理器以一种简单的方式创建更好看的 GUI。
  • 您还需要避免在任何 gui 组件上设置界限。

例如,FlowLayout(FlowLayout.CENTER))默认情况下使用 JPanel,您可以通过将 ok JButton 放入 JPanel,然后将 JPanel 放入 contentPane 来利用它:

  ok = new JButton("OK");
  // ok.setBounds(30, 30, 50, 50);

  JPanel southPanel = new JPanel();
  southPanel.add(ok);

  c.add(southPanel, BorderLayout.SOUTH);

这会将第一个图像更改为第二个:

在此处输入图像描述 在此处输入图像描述

于 2012-04-14T16:03:34.333 回答