向JavaSwingJPanel动态添加内容

向JavaSwingJPanel动态添加内容,java,swing,dynamic,Java,Swing,Dynamic,我是java新手。过去我用c#开发应用程序。我正在使用NetBeans gui设计器。我已经创建了一个新的JFrame,其中layout设置为group layout,其中有滚动窗格。我使用以下代码在运行时添加组件 MyScrollPane.add(new javax.swing.JButton("Button1"); MyScrollPane.add(new javax.swing.JCheckBox("CheckBox1"); this.revalidate(); 问题是这些组件没有显示在

我是java新手。过去我用c#开发应用程序。我正在使用NetBeans gui设计器。我已经创建了一个新的JFrame,其中layout设置为group layout,其中有滚动窗格。我使用以下代码在运行时添加组件

MyScrollPane.add(new javax.swing.JButton("Button1");
MyScrollPane.add(new javax.swing.JCheckBox("CheckBox1");
this.revalidate();
问题是这些组件没有显示在滚动窗格中。
另一个问题是绝对布局没有选项。因为我想生成一个可滚动列表,该列表将从数据库中获取值,并在运行时生成列表。

NetBeans gui设计器利用
GroupLayout
来促进UI的构建。在运行时将组件添加到此布局管理器涉及添加水平和垂直顺序组,这可能非常复杂。开始时使用标准布局管理器开始编码是一个很好的理由。

NetBeans gui设计器利用
GroupLayout
促进UI的构建。在运行时将组件添加到此布局管理器涉及添加水平和垂直顺序组,这可能非常复杂。在开始时使用标准布局管理器开始编码是一个很好的理由。

您不应该向JScrollPane添加任何内容(我假设MyScrollPane是一个JScrollPane)。您的按钮应该添加到作为滚动窗格视图的JPanel中。

您不应该向JScrollPane添加任何内容(我假设MyScrollPane是JScrollPane)。您的按钮应添加到作为滚动窗格视图的JPanel中。

感谢您的回复。是的,你是对的,我在编码和添加按钮中将布局更改为空。但是,当我向任何面板添加组件时,它在构造函数中都可以正常工作。但是,当我使用按钮单击事件添加它时,它不会显示。null布局=无布局管理器。Swing设计用于使用布局管理器,
BorderLayout
FlowLayout
…感谢您的回复。是的,你是对的,我在编码和添加按钮中将布局更改为空。但是,当我向任何面板添加组件时,它在构造函数中都可以正常工作。但是,当我使用按钮单击事件添加它时,它不会显示。null布局=无布局管理器。Swing设计用于使用布局管理器,
BorderLayout
FlowLayout
。。。