求大神帮忙解决调用函数问题
我在用java写学生成绩管理系统,现在遇到一个问题,就是事件监听器在传事件的时候没办法传过去,我写了三个java文件,在同一个包里。
这是主函数的java文件代码:
package ManageSystem;
public class ManageSystem {
public static void main(String[] args) {
MSFrame frame=new MSFrame("学生成绩管理系统");
frame.setVisible(true);
}
}
package ManageSystem;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MSFrame extends JFrame{
JLabel label,lblUser,lblPassword;
JTextField tfUser,tfPassword;
JButton btnLogin;
public MSFrame(String s){
//创建系统登陆界面
super(s);
label=new JLabel("南京晓庄学院学生成绩管理系统");
lblUser=new JLabel("User:");
lblPassword=new JLabel("Password:");
tfUser=new JTextField(10);
tfPassword=new JTextField(20);
btnLogin=new JButton("Login");
Listener bm=new Listener();
btnLogin.setBackground(new Color(204,204,255));
//布局
Box box=Box.createVerticalBox();
box.add(label);
Box bh1=Box.createHorizontalBox();//用户名User
bh1.add(lblUser);
bh1.add(Box.createHorizontalStrut(8));
bh1.add(tfUser);
box.add(bh1);
box.add(Box.createVerticalStrut(8));
Box bh2=Box.createHorizontalBox();//密码Password
bh2.add(lblPassword);
bh2.add(Box.createHorizontalStrut(10));
bh2.add(tfPassword);
box.add(bh2);
box.add(Box.createVerticalStrut(8));
box.add(btnLogin);
box.add(Box.createVerticalStrut(8));
this.add(box);
this.setBounds(250,250,480,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnLogin.addActionListener(bm);
}
}
package ManageSystem;
import java.awt.event.*;
public class Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
String User="iamthemanager";
String Password="iamthemanager";
String getUser=bm.tfUser.getText();
}
}
分享到:
[解决办法]
Listener 加上一个成员,构造时传入。
[解决办法]