我用:
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不会出现,我想要。为什么会这样?非常感谢
答案 0 :(得分:3)
JLabel c = new JLabel();
你有一个空标签,所以我猜测大小是否为(0,0)并且没有任何颜色可供绘制。尝试添加一些文字。
以下内容也是错误的:
add("East", b);
这是添加约束的旧方法。不要使用硬编码值,并且第二个指定约束:
add(b, BorderLayout.???);
阅读Using a Border Layout
上的BorderLayout API或Swing教程,了解相应的约束。