Java swing 添加来自另一个类的组件
Posted
技术标签:
【中文标题】Java swing 添加来自另一个类的组件【英文标题】:Java swing add Components from another Class 【发布时间】:2013-07-24 07:41:58 【问题描述】:我正在学习 Java Swing 组件,我想在按下按钮时这样做,Java Swing 会将另一个类的标签添加到 JFrame 屏幕中。它只是一个简单的开始示例。
我想学习如何使用和添加另一个类的摆动组件。
可能会有一些愚蠢的错误,但不要评判我,我是新人^^
框架类添加按钮
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Frame extends JFrame
private JButton btn;
private boolean regCompl = false;
public Frame()
super("The title Macas");
setLayout(new FlowLayout());
btn = new JButton("Push for Registration");
btn.addActionListener(
new ActionListener()
@Override
public void actionPerformed(ActionEvent event)
regCompl = true;
);
add(btn);
if(regCompl == true)
RegComplete regObj = new RegComplete(this);
// end of constructor
RegComplete 类在按下按钮后向屏幕添加标签。
import javax.swing.JButton;
import javax.swing.JLabel;
public class RegComplete
Frame frame;
private JLabel label;
public RegComplete(Frame fm)
this.frame = fm;
label = new JLabel("Hello world Mac4s");
fm.add(label);
【问题讨论】:
那么什么不起作用?你的问题是什么? @chancea 当我按下按钮时,Java Swing 会将另一个类的标签添加到 JFrame 屏幕中。 【参考方案1】:你必须在动作监听器中创建对象
btn = new JButton("Push for Registration");
btn.addActionListener(
new ActionListener()
@Override
public void actionPerformed(ActionEvent event)
RegComplete regObj = new RegComplete(Frame.this);
);
【讨论】:
Meeran 你在正确的轨道上,你必须将this
更改为Frame.this
以上是关于Java swing 添加来自另一个类的组件的主要内容,如果未能解决你的问题,请参考以下文章
java swing编程问题:一个jframe中添加一个jpanel后,为jpanel添加一个滚动条,当jpanel中内容过多时滑动