java在运行时向jpanel添加组件
我在JFrame
上有一个JPanel
和JButton
在运行时,单击JButton
将JLabel
添加到JPanel
我使用以下代码:
panel.setLayout(null);
jLabel _lbl=new jLabel();
_lbl.setText("Label");
panel.add(_lbl);
panel.validate();
但是在{
你可以在下面搜索框中键入要查询的问题!
我在JFrame
上有一个JPanel
和JButton
在运行时,单击JButton
将JLabel
添加到JPanel
我使用以下代码:
panel.setLayout(null);
jLabel _lbl=new jLabel();
_lbl.setText("Label");
panel.add(_lbl);
panel.validate();
但是在{
# 1 楼答案
我看到您创建了一个名为
_lbl
的JLabel
:但您从未将其添加到面板中。而是向面板添加一个没有文本的新
JLabel
:这当然会构造一个不可见的空标签
在添加
JLabel
之后,还可以尝试在JPanel
实例上调用revalidate()
和repaint()
,如下所示:这样,您可能还需要在frames实例上调用
pack()
,以便调整JFrame
的大小以适应新组件另外,请不要使用
null
/Absolute
布局。这是一种非常糟糕的做法(除非制作动画),可能会出现问题,并且很难使用而是使用
LayoutManager
:或者,如果
JPanel
上只有一个组件,只需调用add(label);
,因为它将扩展到JPanel
大小更新:
这是一个小样本。每次按下
JButton
时,只需将JLabel
添加到JPanel
: