所以,我正在使用swing在java中构建一个登录表单。 当我点击登录按钮时我做了这个测试
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String username = jTextField1.getText();
String password = jTextField2.getText();
if (username.equals("Admin")&&password.equals("Admin")) {
//Launch admin panel
AdminGui admin = new AdminGui();
admin.setVisible(true);
}
else {
//Some code
}
}
如果您看到用户名= Admin和passowrd也是Admin AdminGui将启动,但我希望此测试在另一个类上执行。 我怎样才能将这个类的文本字段值发送给另一个?
答案 0 :(得分:0)
第一个选项是使用构造函数发送它,如:
AnotherClass ac = new AnotherClass (yourInput);
或:
AnotherClass ac = new AnotherClass (yourInput);
ac.setYourInput(yourInput);
答案 1 :(得分:0)
创建另一个名为UserService的类,例如
public class UserService {
public boolean isValidLogin(String username, String password) {
return username.equals("Admin") && password.equals("Admin");
}
}
在您的类中创建一个具有jButton1ActionPerformed方法的实例UserService。例如 请注意,如果您有另一个创建视图的类,则应使用getter / setter方法实际传递此视图。
private UserService userService = new UserService();
然后调用jButton1ActionPerformed()方法
if (userService.isValidLogin(username, password)) {
答案 2 :(得分:0)
由于MVC模式,您可以创建一个应该执行的Utility类:
public static class YourUtilityClass{
public static boolean checkLogin(String username, String password){
if(username.equals("Admin") && password.equals("Admin")){
return true;
}else{
return false;
}
}
在你的actionPerformer方法的GUI中你必须做类似的事情:
boolean loginCorrect = YourUtilityClass.checkLogin(username,password);
if(loginCorrect){
//login was okay and you can load the AdminGui
}else{
//notCorrect
}