Java AWT 组件和面板填充/边框

标签 java applet panel border padding

我不知道为什么找不到解决方案...我正在尝试在流布局中布置一些 AWT 组件。唯一的问题是使用流布局时组件(面板)之间的“填充”。这是小程序当前的样子:http://i.stack.imgur.com/2KZgD.png

我需要一种方法来设置小程序/面板,以便两个面板(黑框)接触(无“填充”)。整个程序是免费的 Swing,所有 AWT,我打算保持这种状态。我觉得这是一个非常简单的解决方案,但我一直无法找到答案。

这是 applet 类的 init() 代码:

public void init() {
  setLayout(new FlowLayout());
  c1 = new TestPanel();
  c2 = new TestPanel();
  c1.setPreferredSize(new Dimension(640, 480));
  c2.setPreferredSize(new Dimension(100, 480));
  add(c1);
  add(c2);
}

这是我正在使用的 TestPanel 类:

public class TestPanel extends Panel {
  public void paint(Graphics g) {
    g.setColor(Color.BLACK);
    g.fillRect(0, 0, this.getPreferredSize().width, this.getPreferredSize().height);
  }
}

最佳答案

FlowLayout 的默认水平(和垂直)间距设置为 5。因此,您必须显式将水平间距设置为0

第一种方法

调用 setHgap(...)在组件的布局上。由于 JPanel 的默认布局是 FlowLayout,只需执行以下操作:

((FlowLayout)getLayout()).setHgap(0);

第二种方法

使用另一个 FlowLayout 构造函数。即 FlowLayout(int align, int hgap, int vgap) .只需执行以下操作:

setLayout(new FlowLayout(FlowLayout.CENTER, 0, 5));

关于Java AWT 组件和面板填充/边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636896/

相关文章:

java - 替换java类?

java - 我认为你不能在数组中混合类型(Java)

java - 为什么ConcurrentHashMap$HashEntry中的 "next"字段是final的

jsp - Applet 和 JSP 通信

java - 不断收到 "java.security.AccessControlException access denied:"错误

python - 使用新数据流沿着major_axis 增长pandas 面板?

java - jPanel 的背景图像不起作用

java applet 将 jar 文件导出为独立的可执行文件

actionscript-3 - Flex 4 spark Panel 顶部有一个难看的灰色

java - 如何彻底清洁我的面板