java - 如何在运行时用 Java 将面板动态添加到其他面板?

标签 java swing

我正在尝试再次接触 java(已经有几年了)。我从来没有真正用 Java 编写过任何 GUI 代码。我一直在使用 Netbeans 来开始这方面的工作。

在工作中使用 C# 中的 winforms 时,我使用用户控件来构建我的 UI 的一部分并将它们动态添加到表单中。

我一直在尝试像 C# 中的用户控件一样使用 JPanels。我创建了一个名为 BlurbEditorJPanel 表单。这有一些简单的控制。我试图在按钮事件的运行时将它添加到另一个面板。

这是我认为可行的代码:

mainPanel.add(new BlurbEditor());
mainPanel.revalidate();
//I've also tried all possible combinations of these too
//mainPanel.repaint();
//mainPanel.validate();

不幸的是,这不起作用。我做错了什么?

最佳答案

我想通了。此处接受的答案下的评论对其进行了解释: Dynamically added JTable not displaying

基本上我只是在 mainPanel.add() 之前添加了以下内容

mainPanel.setLayout(new java.awt.BorderLayout());

关于java - 如何在运行时用 Java 将面板动态添加到其他面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169799/

相关文章:

java - BorderLayout West Center East all 等宽

java - 找不到类文件

java - 将 Netbeans 项目移至 Eclipse 并放入相同的 SVN 存储库

java - 推荐的 JSF 2.0 CRUD 框架

Java Swing (BoxLayout) 对齐问题

java - Swing setBackground 非颜色类值

java - 由 : java. lang.NoSuchMethodError : org. hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;II)V 引起 - 在 Spring REST 示例中

java - 使用 Apache Tiles 时是否需要使用 XHTML?

java - 如何更改 gridbaglayout 中网格的最小高度

java - 为什么 JFrame 不居中?