dimanche 3 mai 2015

Geöffnetes Dialogfenster schließen

Hallo zusammen,
ich muss zur Zeit für meine Weiterbildung Java lernen. Wir haben bisher nur kleinere Projekte in Java realisiert. Nun möchte ich das erste mal mit mehreren .class Dateien arbeiten. Ich habe den unteren Dialog aus einer anderen .class Datei aufgerufen, das klappt auch.
Mein Problem ist ich habe leider keine Ahnung wie ich das schließen realisiere. dialog.setvisible(false); funktioniert nicht.

Kann mir jemand weiterhelfen indem er mir erklären kann wie ich vorgehe wenn ich ein geöffnetes Fenster schließen will? Also nur den aufgerufenen Dialog nicht das gesamte Programm?

Anbei der Code des Dialogs, das Hauptprogramm kann bei bedarf nachgeliefert werden ist aber nichts anderes als ein Aufruf per Button etc.

Vielen Dank im vorraus!


Java Code:

  1.  
  2. package formulare;
  3. import java.awt.BorderLayout;
  4. import java.awt.FlowLayout;
  5. import javax.swing.JButton;
  6. import javax.swing.JDialog;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JPasswordField;
  10. import javax.swing.JTextField;
  11. import javax.swing.JLabel;
  12. import javax.swing.SwingConstants;
  13. import java.awt.event.ActionListener;
  14. import java.awt.event.ActionEvent;
  15. import mainprog.WvS_ProjectDB;
  16. public class Logindata_dialog extends JDialog {
  17.  
  18. private static final long serialVersionUID = -8298102570486583361L;
  19. private final JPanel contentPanel = new JPanel();
  20. private JTextField text_dbHost;
  21. private JTextField text_dbPort;
  22. private JTextField text_dbDatabank;
  23. private JTextField text_dbUser;
  24. private JPasswordField pwd_dbPassword;
  25.  
  26. public static void main(String[] args) {
  27. try {
  28. Logindata_dialog dialog = new Logindata_dialog();
  29. dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  30. dialog.setVisible(true);
  31. } catch (Exception e) {
  32. e.printStackTrace();
  33. }
  34. }
  35.  
  36. public Logindata_dialog() {
  37. setBounds(100, 100, 450, 300);
  38. getContentPane().setLayout(new BorderLayout());
  39. contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
  40. getContentPane().add(contentPanel, BorderLayout.CENTER);
  41. contentPanel.setLayout(null);
  42.  
  43. JLabel lblHost = new JLabel("Host");
  44. lblHost.setBounds(15, 16, 69, 20);
  45. contentPanel.add(lblHost);
  46.  
  47. JLabel lblPort = new JLabel("Port");
  48. lblPort.setBounds(15, 52, 69, 20);
  49. contentPanel.add(lblPort);
  50.  
  51. JLabel lblDatenbank = new JLabel("Datenbank");
  52. lblDatenbank.setBounds(15, 88, 123, 20);
  53. contentPanel.add(lblDatenbank);
  54.  
  55. JLabel lblUser = new JLabel("User");
  56. lblUser.setBounds(15, 124, 69, 20);
  57. contentPanel.add(lblUser);
  58.  
  59. JLabel lblPassword = new JLabel("Password");
  60. lblPassword.setBounds(15, 160, 69, 20);
  61. contentPanel.add(lblPassword);
  62.  
  63. text_dbHost = new JTextField();
  64. text_dbHost.setHorizontalAlignment(SwingConstants.RIGHT);
  65. text_dbHost.setText("localhost");
  66. text_dbHost.setBounds(125, 13, 288, 26);
  67. contentPanel.add(text_dbHost);
  68. text_dbHost.setColumns(10);
  69.  
  70. text_dbPort = new JTextField();
  71. text_dbPort.setHorizontalAlignment(SwingConstants.RIGHT);
  72. text_dbPort.setText("3306");
  73. text_dbPort.setBounds(125, 49, 288, 26);
  74. contentPanel.add(text_dbPort);
  75. text_dbPort.setColumns(10);
  76.  
  77. text_dbDatabank = new JTextField();
  78. text_dbDatabank.setHorizontalAlignment(SwingConstants.RIGHT);
  79. text_dbDatabank.setText("wvs_db");
  80. text_dbDatabank.setBounds(125, 85, 288, 26);
  81. contentPanel.add(text_dbDatabank);
  82. text_dbDatabank.setColumns(10);
  83.  
  84. text_dbUser = new JTextField();
  85. text_dbUser.setHorizontalAlignment(SwingConstants.RIGHT);
  86. text_dbUser.setText("root");
  87. text_dbUser.setBounds(125, 121, 288, 26);
  88. contentPanel.add(text_dbUser);
  89. text_dbUser.setColumns(10);
  90.  
  91. pwd_dbPassword = new JPasswordField();
  92. pwd_dbPassword.setHorizontalAlignment(SwingConstants.RIGHT);
  93. pwd_dbPassword.setBounds(125, 157, 288, 26);
  94. contentPanel.add(pwd_dbPassword);
  95. {
  96. JPanel buttonPane = new JPanel();
  97. buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
  98. getContentPane().add(buttonPane, BorderLayout.SOUTH);
  99. {
  100. JButton okButton = new JButton("OK");
  101. okButton.addActionListener(new ActionListener() {
  102. public void actionPerformed(ActionEvent arg0) {
  103. WvS_ProjectDB.setDbIpAdress(text_dbDatabank.getText());
  104. WvS_ProjectDB.setDbPort(text_dbPort.getText());
  105. WvS_ProjectDB.setDbName(text_dbDatabank.getText());
  106. WvS_ProjectDB.setDbUser(text_dbUser.getText());
  107. char[] zeichen = pwd_dbPassword.getPassword();
  108. String pwd_abfrage = new String(zeichen);
  109. WvS_ProjectDB.setDbUserPasswd(pwd_abfrage);
  110.  
  111. }
  112. });
  113. okButton.setActionCommand("OK");
  114. buttonPane.add(okButton);
  115. getRootPane().setDefaultButton(okButton);
  116. }
  117. {
  118. JButton cancelButton = new JButton("Cancel");
  119. cancelButton.setActionCommand("Cancel");
  120. buttonPane.add(cancelButton);
  121. }
  122. }
  123. }
  124. }


Geöffnetes Dialogfenster schließen

0 commentaires:

Enregistrer un commentaire