JLabel z informacją o stanie połączenia z bazą danych

0

Witam;

Tworzę aplikację w NetBeans w szablonie JFrame i chciałbym w niej umieścić pole JLabel gdzie mniałbym informację
o stanie połączenia z bazą danych.

Mam klasę odpowiedzialna za tworzenie polaczenia z baza danych:

public class HrDatabaseAccess
{
   Connection dbConnection = null;

   public HrDatabaseAccess()
   {
   }

   public Connection getOracleDbConnection()
   {
      if ( this.dbConnection != null )
      {
         return this.dbConnection;
      }
     
      try
      {
         OracleDataSource ds = new OracleDataSource();
         ds.setURL("jdbc:oracle:thin:@localhost:1521:XE");
         this.dbConnection = ds.getConnection("hr", "hr");
           
         if ( dbConnection == null )
         {
            throw new Exception("Database connection is NULL");
         }
      }
      catch (SQLException sqlEx)
      {
         sqlEx.printStackTrace();
      }
      catch (Exception ex)
      {
         ex.printStackTrace();
      }
      return this.dbConnection;
   }

I w JForm umiescilem taki zapis:

private void jLabel_connectPropertyChange(java.beans.PropertyChangeEvent evt) {

       HrDatabaseAccess da = new HrDatabaseAccess();
       if (da.dbConnection != null ) {

            jLabel_connect.setText("Połączno z bazą danych");
            evt.getPropertyName();

       } else {

           jLabel_connect.setText("Brak połączenia z bazą danych");

       }
    }

Ale nawet jak mam polaczenie to nic sie nie zmiania

0

Cześć. Taka sprawa - nie wywołujesz nigdzie tej metody.
Dlatego nic się nie zmienia.

Pozdrawiam.

0

Witam
W parę minut nabazgrałem coś takiego
<code-java>
/*

  • @Author Piotr
    /
    import java.awt.
    ;
    import java.sql.;
    import javax.swing.
    ;
    public class Main {
    public static void main(String[] args) {
    Main s = new Main();
    s.init();
    Polaczenie p = new Polaczenie();
    p.polacz();
    if (p.czy()) {Label1.setText("Polaczenie istnieje");}
    else {Label1.setText("Polaczenie nie istnieje");};
    }
    public void init(){
    JFrame frame = new JFrame("Połączenie");
    int szerscr = Toolkit.getDefaultToolkit().getScreenSize().width;
    int wysscr = Toolkit.getDefaultToolkit().getScreenSize().height;
    int szer = 300; int wys = 400;
    frame.setSize(szer, wys );
    frame.getContentPane().add(panelMenu);
    panelMenu.add(Label1);
    frame.setLocation((szerscr/2)-(szer/2), (wysscr/2)-(wys/2));
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    private static JPanel panelMenu = new JPanel();
    private static JLabel Label1 = new JLabel("Połaczenie");
    }</code-java>

i klasa Polaczenie:
<code-java>
/**
*

  • @Author Piotr
    */
    public class Polaczenie {
    Polaczenie(){}
    public void polacz(){
    try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection pol = DriverManager.getConnection ("jdbc:mysql://localhost:3306/java","root","");
    Statement st = pol.createStatement();
    System.out.println("Polaczenie istnieje");
    czyPolaczony = true;
    }
    catch (Exception ek) {
    System.out.println(ek.getMessage());
    System.out.println("Brak połączenia");
    }
    }
    public boolean czy(){
    return czyPolaczony;
    }
    private boolean czyPolaczony = false;
    }
    </code-java>

1 użytkowników online, w tym zalogowanych: 0, gości: 1