我使用:
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 不会出现,但我想这样做。为什么会这样?非常感谢
最佳答案
JLabel c = new JLabel();
你有一个空标签,所以我猜测大小 if (0, 0) 并且没有任何东西可以绘制。尝试添加一些文本。
另外,以下是不正确的:
add("East", b);
这是添加约束的旧方法。不要使用硬编码值,约束是第二个指定的:
add(b, BorderLayout.???);
阅读 BorderLayout API 或有关 Using a Border Layout
的 Swing 教程以获得适当的约束。
关于java - BorderLayout 和 JPanel 与 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18196124/