我在使用 Java 及其 swing 组件时遇到了很多困难,我必须说,当我使用 C# 编程时,这要容易得多,而且我有点受困于这段代码。
我想做的是在另一个面板
上添加一些面板。
这是为了向用户展示他加入的项目需要完成的任务。
我在 Gui 的右侧创建了一个面板,我想在运行时向它添加更多面板。 我设法给它添加了一个面板,但它有一些奇怪的行为。
蓝色面板是我在运行时使用此代码添加的新创建的
面板。
JPanel pnl = new JPanel();
lpane.setBackground(Color.red);
lpane.setLayout(new BorderLayout());
pnl.setBounds(0, 0, 20, 100);
pnl.setOpaque(true);
pnl.setBackground(Color.BLUE);
lpane.add(pnl);
lpane.validate();
这只是一个测试,这就是代码不包含其余面板的 for 循环等的原因。
如您所见,我正在使用 BorderLayout
因为我在互联网上找到了它,并且因为没有 BorderLayout 它不会绘制任何东西。
此外,当我尝试将 BorderLayout 设置为 .NORTH 或 .STARTPAGE 时,它开始在面板上方绘制,但我仍然无法设置面板的任何位置?
有人知道为什么我不能设置任何位置或宽度和高度吗?
最佳答案
BorderLayout
实现了 5. 个用于放置JComponents
的区域,最后添加的
JComponent
到具体区域是可见的使用BorderLayout
使用(pre_implemented in JPanel)
FlowLayout
,接受来自 JComponents 的 PreferredSizeGridLayout
用于在屏幕上具有相同大小的 child
关于java - 在运行时在面板中添加面板时我无法设置位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846710/