【发布时间】:2012-06-06 11:37:09
【问题描述】:
我在使用 java 及其 Swing 组件时遇到了困难,我必须说,当我使用 C# 编程时,这要容易得多,而且我有点卡在这段代码上。
我想做的是在another panel 上添加一些面板。
这向用户显示他加入的项目需要完成的任务。
我在 Gui 的右侧创建了一个面板,我想在运行时向它添加更多面板。 我设法为其添加了一个面板,但它有一些奇怪的行为。
蓝色面板是我在运行时使用此代码添加的newly created 面板。
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 时,它开始在面板上方绘制,但我仍然无法设置面板的任何位置?
有人知道为什么我不能设置任何位置或宽度和高度吗?
【问题讨论】:
-
简短的回答是您必须完成 Oracle 网站上的 Swing 教程。如您所见,Java 布局与 .Net 应用程序的布局不同。我谦虚地建议您首先访问docs.oracle.com/javase/tutorial/uiswing 并学习一些教程,以便您了解不同的布局管理器。然后像 BorderLayout 之类的东西会更有意义。
标签: java swing jpanel draw layout-manager