Java AWT 应用程序窗口填充

标签 java layout window awt

我正在尝试用 Java 构建一个简单的 AWT 应用程序。我希望主窗口中的所有容器都按位分开。我可以通过在 BorderLayout 构造函数中设置 Hgap 和 Vgap 来实现此目的(见下文。)

但是,我不知道如何在容器和主窗口边缘之间放置一个盖子。如何向主窗口添加几个像素的填充?

import java.awt.*;
import java.applet.Applet;

public class LayoutTest extends Applet {

    public void init() {

        BorderLayout layout = new BorderLayout(8, 8);

        setLayout(layout);

        add(new Button("Left"), BorderLayout.CENTER);
        add(new Button("Right"), BorderLayout.EAST);
    }
}

最佳答案

我同意其他答案,并建议使用 Swing(改为使用 JApplet),这将使各种事情变得更容易(例如,您可以调用 setBorder 并使用 BorderFactory 来创建边框),但在您的情况下您可以通过重写 getInsets 来设置插图:

   @Override
   public Insets getInsets()
   {
      return new Insets(10,10,10,10);
   }

将 10 替换为您喜欢的任何内容。

似乎没有 setter ,或者我会说使用它来代替。如果对于 AWT Applet 有更好的方法,请有人纠正我。

如果您决定使用 Swing,请参阅:How to Use Borders

关于Java AWT 应用程序窗口填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089098/

相关文章:

java - 直接写入socket,获取TCP ZeroWindow

android - dumpsys 窗口 windows 输出

java - 每当调用某个类的方法时,我可以要求 java 执行某些操作吗

java - 当我在 Java 中添加一个字符和一个字符串时会发生什么?

java - 折叠不可见的 Java Swing 组件的最佳方法

javascript - 如何在主体上设置滚动条以在居中的中间 div 中滚动内容?

javascript - window.location.href 与 history.pushState - 使用哪个?

java - Maven cli 给出语法错误,但在 eclipse 中没问题。 java语法正确吗?真奇怪

java - Gradle依赖问题,java.lang.NoClassDefFoundError,但是编译通过

jquery - 我怎样才能使我网站上的字体更大并且更易于某些用户阅读?