1

我用:

BorderLayout a = new BorderLayout();
setLayout(a);
JPanel b = new JPanel();

现在,如果我使用:

JButton c = new JButton("Press");
b.add(c);
add("East", b);

我的 JButton 会正常显示。但如果我说:

JLabel c = new JLabel();
c.setBackground(Color.BLACK);
c.setOpaque(true);
add("East", b);

我的黑色 JLabel 不会出现,这是我想要的。为什么会这样?非常感谢

4

1 回答 1

3
JLabel c = new JLabel();

你有一个空标签,所以我猜测 if (0, 0) 的大小,没有什么可以画的。尝试添加一些文本。

以下也是不正确的:

add("East", b); 

这是添加约束的旧方法。不要使用硬编码值,并且第二个指定约束:

add(b, BorderLayout.???);

阅读 BorderLayout API 或 Swing 教程以Using a Border Layout了解适当的约束。

于 2013-08-12T20:36:10.593 回答