java - 在 Java 中调整 JButton 大小时遇到​​问题

标签 java swing resize jbutton layout-manager

每当我将 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);
} 

最佳答案

建议:

  • 您需要阅读 layout managers
  • 了解为什么您的 GUI 会出现这种行为
  • 并了解如何利用布局管理器轻松创建外观更好的 GUI。
  • 您还需要避免在任何 GUI 组件上设置边界。

例如,JPanel 默认使用 FlowLayout(FlowLayout.CENTER)),您可以通过将 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);

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

enter image description here enter image description here

关于java - 在 Java 中调整 JButton 大小时遇到​​问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10155011/

相关文章:

java - RMI - 客户端如何获取服务器控制台输出?

java - 未找到 Spring Restful 服务。与 Spring Boot 集成时出现 NoClassDefFounderror

java - 像encodeAsBase64方法一样,Grails提供加密/解密方法吗?

java - 具有不同轴的嵌套 BoxLayout

java - 如何从 1jframe 链接到另一个 jframe

javascript - CSS:是否有一个单位等同于 vh + vw?

javascript - 如果我添加此 if 语句,为什么我的网站在移动设备上不显示任何内容?

java - 如何在jframe上的java swing面板之间切换?

java - (java) 应用程序启动时 GUI 偶尔卡住

c# - 如何避免在具有透明背景的调整大小的 PNG 中出现无用的白色边框?