我正在尝试用 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/