关于Java Swing编程的问题

来源:百度知道 编辑:UC知道 时间:2024/06/29 02:56:43
主框架JFrame,上面有一个实例A、一个JPanel,JPanel上有个按钮JButton。
我想在按下JButton时,实例A进行一个操作,那我应该如何添加事件处理函数?实例A不能被放在JPanel上。

把实例A当参数传过去

import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.*;

public class SimGui extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel pan = new JPanel();
private JButton b = new JButton();
//在此处添加一个实例A的引用,以便在事件触发时调用.
private InstanceA a = new InstanceA();

public SimGui() {
this.setLayout(new BorderLayout());
pan.setLayout(null);
b.setBounds(50, 50,100, 30);
b.setText("点击我");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
a.introduce();
}

});
pan.add(b);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(400, 400, 400, 300);
this.add(pan, BorderLayout.CENTER);
this.setVisible(true);
}

public static void main(String[] args) {
new SimGui();
}