2016-12-03 9 views
0

を閉じるように動作していない:this.disposeは()私が追加した場合のJFrame

this.dispose(); 

ウィンドウは、私が何を行うことができます閉じていません?。 私はwindowsBuilderでEclipseを使用しています。 別のウィンドウを開くために実際のウィンドウを閉じたいですか?

マイコード:

その後ん:

public class Ventana_login extends JFrame { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = -7948060398287723741L; 
    private JPanel contentPane; 
    private JTextField txtUsuario; 
    private JPasswordField txtContrasena; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        Ventana_login frame = new Ventana_login(); 
        frame.setVisible(true); 
        frame.setLocationRelativeTo(null); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public Ventana_login() { 
     setTitle("Sistema Gestor de Eventos v1.0"); 
     setResizable(false); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 
     contentPane.setLayout(null); 

     JLabel lblBienvenidoAlSistema = new JLabel("Bienvenido"); 
     lblBienvenidoAlSistema.setHorizontalAlignment(SwingConstants.CENTER); 
     lblBienvenidoAlSistema.setFont(new Font("Tahoma", Font.BOLD, 16)); 
     lblBienvenidoAlSistema.setBounds(10, 11, 424, 14); 
     contentPane.add(lblBienvenidoAlSistema); 

     JLabel lblUsuario = new JLabel("Usuario"); 
     lblUsuario.setHorizontalAlignment(SwingConstants.RIGHT); 
     lblUsuario.setBounds(96, 79, 70, 14); 
     contentPane.add(lblUsuario); 

     JLabel lblContrasena = new JLabel("Contrase\u00F1a"); 
     lblContrasena.setHorizontalAlignment(SwingConstants.RIGHT); 
     lblContrasena.setBounds(96, 109, 70, 14); 
     contentPane.add(lblContrasena); 

     txtUsuario = new JTextField(); 
     txtUsuario.setBounds(176, 76, 150, 20); 
     contentPane.add(txtUsuario); 
     txtUsuario.setColumns(10); 

     JButton btnIniciarSesion = new JButton("Iniciar Sesi\u00F3n"); 
     btnIniciarSesion.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent arg0) { 
       try { 
        Dato_login d_lgn = new Dato_login(); 
        Logica_login l_lgn = new Logica_login(); 

        d_lgn.setUsuario(txtUsuario.getText()); 
        char[] contrasenaChar = txtContrasena.getPassword(); 
        String contrasenaClean = new String(contrasenaChar); 
        d_lgn.setContrasena(contrasenaClean); 

        Dato_login d_lgn2 = l_lgn.login(d_lgn.getUsuario(), d_lgn.getContrasena()); 

        if (Logica_login.resultado) { 
         Ventana_menu v_menu = new Ventana_menu(); 
         v_menu.setVisible(true); 
         v_menu.setLocationRelativeTo(null); 
         Ventana_menu.lblPerfilActual.setText(d_lgn2.getPerfil()); 
         Ventana_menu.lblApellidoActual.setText(d_lgn2.getApellido()); 
         Ventana_menu.lblNombreActual.setText(d_lgn2.getNombre()); 
         Ventana_menu.lblUsuarioActual.setText(d_lgn2.getUsuario()); 

         if (Ventana_menu.lblPerfilActual.getText().equals("Portero")) { 
          Ventana_menu.btnMantenimiento_Eventos.setEnabled(false); 
          Ventana_menu.btnMantenimiento_Invitaciones.setEnabled(false); 
          Ventana_menu.btnMantenimiento_Invitados.setEnabled(false); 
          Ventana_menu.btnMantenimiento_Usuarios.setEnabled(false); 
          Ventana_menu.btnReportes.setEnabled(true); 
         } else { 
          Ventana_menu.btnMantenimiento_Eventos.setEnabled(true); 
          Ventana_menu.btnMantenimiento_Invitaciones.setEnabled(true); 
          Ventana_menu.btnMantenimiento_Invitados.setEnabled(true); 
          Ventana_menu.btnMantenimiento_Usuarios.setEnabled(true); 
          Ventana_menu.btnReportes.setEnabled(true); 
         } 
         this.dispose(); 
        } else { 
         JOptionPane.showMessageDialog(contentPane, "Acceso Denegado", "Error", JOptionPane.ERROR_MESSAGE); 
        } 
       } catch (Exception e) { 
        e.printStackTrace(); 
        JOptionPane.showMessageDialog(null, "Exception:\n" + e, "Error: Ventana_login", JOptionPane.ERROR_MESSAGE); 
        } 
      } 
     }); 
     btnIniciarSesion.setBounds(176, 163, 150, 30); 
     contentPane.add(btnIniciarSesion); 
+1

はJFrameのあなたがプログラムで閉じようとしているものということです? –

+0

@ΦXocen笑Пepeúpaツフレームのコードの一部を追加しました。私が問題の検出を手伝ってくれることを願っています。 –

+0

@ΦXocen笑ПEPEUPAツこんにちは、私の友人、どんな助けてください?私はあなたが私に言ったことを試しましたが、うまくいきません。 –

答えて

1

私はあなたのJFrameを意味する窓によって仮定します

myJframe.dispatchEvent(new WindowEvent(myJframe, WindowEvent.WINDOW_CLOSING)); 
+0

は私のために働いていません:(私は、コードで私の最初の投稿を編集しました、短いです、私はあなたが私を助けることを願っています。 –

関連する問題