Java Can';成功登录后,请不要隐藏我的登录表单
我在JavaFX中创建了一个登录表单,成功登录后应该将其隐藏, 我遵循的代码,用于在成功登录此视频后隐藏表单,但不适用于我 基本上这就是代码Java Can';成功登录后,请不要隐藏我的登录表单,java,javafx,fxml,Java,Javafx,Fxml,我在JavaFX中创建了一个登录表单,成功登录后应该将其隐藏, 我遵循的代码,用于在成功登录此视频后隐藏表单,但不适用于我 基本上这就是代码((节点)(event.getSource()).getScene().getWindow().hide() 问题是我没有得到任何错误来知道问题是什么 这是mayMainclass public class Main extends Application { @Override public void start(Stage primary
((节点)(event.getSource()).getScene().getWindow().hide()代码>
问题是我没有得到任何错误来知道问题是什么
这是mayMain
class
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root =
(BorderPane)FXMLLoader.load(getClass().getResource("/fx/Login.fxml"));
Scene scene = new Scene(root,310,180);
scene.getStylesheets().
add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
我的控制器类
public class LoginController {
@FXML
private TextField Usernamefield;
@FXML
private PasswordField Passwordfield;
@FXML
public void LoginButtonHandler(ActionEvent event){
String UserName = Usernamefield.getText().trim();
String PassWord = Passwordfield.getText().trim();
Session session =
HibernateUtil.getSessionFactory().getCurrentSession();
try {
session.beginTransaction();
String hql =" from User where Username=:UserName and Password=:PassWord";
Query query = session.createQuery(hql);
query.setParameter("UserName",UserName);
query.setParameter("PassWord",PassWord);
List ResultSet = query.getResultList();
if (ResultSet.size()==1){
SessionInfo sessioninfo = new SessionInfo();
sessioninfo.setUsername(UserName);
System.out.println("welcome "+ sessioninfo.getUsername());
System.out.println("opening dashboard");
/*****************************************************
* openining dashboard after user logged successfully*
*****************************************************/
try{
((Node)(event.getSource())).getScene().getWindow().hide();
FXMLLoader fxmlLoader = new
FXMLLoader(getClass().getResource("DashBoard.fxml"));
BorderPane root = (BorderPane) fxmlLoader.load();
Stage stage = new Stage();
//stage.initModality(Modality.APPLICATION_MODAL);
//stage.initStyle(StageStyle.UNDECORATED);
stage.setTitle("Welcome "+sessioninfo.getUsername());
stage.setScene(new Scene(root));
stage.show();
} catch(Exception e) {
e.printStackTrace();
}
}else
{
System.out.println("login faild");
}
System.out.println("current session statics"+session.getStatistics());
System.out.println(Usernamefield.getText());
System.out.println(Passwordfield.getText());
System.out.println("transaction status
:"+session.getTransaction().getStatus());
System.out.println("result size is :"+ResultSet.size());
}
catch (HibernateException e) {
if (session.getTransaction() != null) {
session.getTransaction().rollback();
e.printStackTrace();
}
}
finally {
session.close();
System.out.println("session is closed");
}
}
}
我的FXML
您需要为fxml中的处理程序指定正确的方法名称。由于该方法的名称为LoginButtonHandler
,因此
元素的onAction
属性的正确值为#LoginButtonHandler
:
您需要为fxml中的处理程序指定正确的方法名称。由于该方法的名称为LoginButtonHandler
,因此
元素的onAction
属性的正确值为#LoginButtonHandler
: