But could there be a glitch with swing components, when i login by calling this method “
JOptionPane.showMessageDialog(LoginForm.this, "Login Successful!");
LandingPage f = new LandingPage();
f .setDefaultLookAndFeelDecorated(true);
f.setVisible(true);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
f.setSize(screen.getSize());
f.pack();
this.dispose();" the update button "
jButtonUpdateUserX = new javax.swing.JButton();
jButtonUpdateUserX.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
jButtonUpdateUserX.setForeground(new java.awt.Color(46, 45, 45));
jButtonUpdateUserX.setText("UPDATE USER");
jButtonUpdateUserX.setBorder(javax.swing.BorderFactory.createEtchedBorder(new
java.awt.Color(204, 255, 255), new java.awt.Color(204, 255, 255)));
jButtonUpdateUserX.setEnabled(false);
jButtonUpdateUserX.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
jButtonUpdateUserXItemStateChanged(evt);
}
});
jButtonUpdateUserX.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonUpdateUserXActionPerformed(evt);
}
});
usersJpanel.add(jButtonUpdateUserX);
jButtonUpdateUserX.setBounds(10, 10, 150, 40);
jButtonUpdateUserX.setEnabled(false);
jButtonUpdateUserX.addActionListener(evt -> onUpdateUser());
“works properly by calling this method “
private void onUpdateUser() {
if (selectedUser != null) {
CreateUser createUserFrame = new CreateUser("createUserPanel", "UPDATE",
selectedUser);
createUserFrame.setVisible(true);
createUserFrame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosed(java.awt.event.WindowEvent e) {
refresh();
}
});
}"
but when i refresh the object “
private void refresh(){
System.out.println("Refreshing main form...");
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
LandingPage f = new LandingPage();
// f .setDefaultLookAndFeelDecorated(true);
f.setVisible(true);
// Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
// f.setSize(screen.getSize());
// f.pack();
}
});
// f .setDefaultLookAndFeelDecorated(true);
this.dispose();
}"
which is same as the one for logging in, it doesn’t.
The question i ask is, doesn’t the refresh call the constructor, since all initializations are done in construct, why can’t the same initialization be done just like at login?