Java

JavaFx Project Step by Step

This JDBC will teach you how to do basic database functions that are CREATE RETIEVE in Netbeans. using Mysql Database. The INSERT, SELECT statements can be used in any database system, because this is support by all relational database systems.

We will learn how to INSERT, SELECT in database by writing code to manage the addressbook table in the database named recordsrecords table consist of following columns name,address,age.

First Step 

Install Scence Builder in your computer follow this link    to download the scene builder which will offers all visual layout components which will easy to drag and drop and make the attractive look. After installed the Scence Builder in your computer successfully.open the netbeans and select  new project ->JavaFx- you can select here JavaFx FXML Application and click next it will automatically configure the scene builder path. i attached the
screen shot image below.

After created the project you will get the project structure look like below.

Double click and open the FXMLDocument.fxml  your Scence Builder will be loaded and open. then your make your design as you like.

after done the design you must name textfields and tables and tables coloums. after that copy code. go to view->Sample Skeleton

Copy the code

And paste into FXMLDocumentController  inside the class.  remove the default design and keep as it is a initialize method. this code which will manage the Add Records and View Records from the database.

package javanewcrud;

import java.net.URL;
import java.sql.*;

import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;


public class FXMLDocumentController implements Initializable {
    
   
     @FXML
    private Label label;

    @FXML
    private TextField txtMname;

    @FXML
    private TextField txtAddress;

    @FXML
    private TextField txtAge;

    @FXML
    private TableView<Record> table;

    @FXML
    private TableColumn<Record, String> idColoum;

    @FXML
    private TableColumn<Record, String> MnameColoum;

    @FXML
    private TableColumn<Record, String> AddressColoum;

    @FXML
    private TableColumn<Record, String> AgeColoum;

    
    
    Connection con;
    PreparedStatement pst;

     public void Connect()
    {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/addressbook","root","");
        } catch (ClassNotFoundException ex) {
          
        } catch (SQLException ex) {
           
        }
    }
    
    @FXML
    void Add(ActionEvent event) {
        
          Connect();
            String name = txtMname.getText();
            String address = txtAddress.getText();
             String age = txtAge.getText();
       try {
            pst = con.prepareStatement("insert into records(name,address,age)values(?,?,?)");
            pst.setString(1, name);
            pst.setString(2, address);
            pst.setString(3, age);
            int status = pst.executeUpdate();
             
             if(status==1)
             { 
                Alert alert = new Alert(Alert.AlertType.INFORMATION);
                alert.setTitle("Success");
                alert.setHeaderText("Member");
                alert.setContentText("Record Addedd Successfully");
                alert.showAndWait();
                table();
                txtMname.setText("");
                txtAddress.setText("");
                txtAge.setText("");
                txtMname.requestFocus();
                
             }
             else
             {
                Alert alert = new Alert(Alert.AlertType.ERROR);
                alert.setTitle("Fail");
                alert.setHeaderText("Member");
                alert.setContentText("Record Addedd Failded");
                alert.showAndWait();
             }
            } 
          catch (SQLException ex)
       {
           Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
       }

    }
     
      public void table()
      {
          ObservableList<Record> records = FXCollections.observableArrayList();
       try 
       {
           pst = con.prepareStatement("select id,name,address,age from records");  
           ResultSet rs = pst.executeQuery();
      {
        while (rs.next())
        {
            Record record = new Record();
            record.setId(rs.getString("id"));
            record.setName(rs.getString("name"));
            record.setAddress(rs.getString("address"));
            record.setAge(rs.getString("age"));
            records.add(record);
       }
    } 
                table.setItems(records);
                idColoum.setCellValueFactory(f -> f.getValue().idProperty());
                MnameColoum.setCellValueFactory(f -> f.getValue().nameProperty());
                AddressColoum.setCellValueFactory(f -> f.getValue().addressProperty());
                AgeColoum.setCellValueFactory(f -> f.getValue().ageProperty());
       }
       
       catch (SQLException ex) 
       {
           Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
       }
}
    @Override
    public void initialize(URL url, ResourceBundle rb) {
       Connect();
       table();
    }    
    
}

i have attached the video link below. which will do this tutorials step by step.

 

 

 

 

 

 

 

 

admin

Recent Posts

Build Simple Water System Calculator in Java Using Swing

If you're just beginning to learn Java GUI programming creating an Water System Calculator is a fantastic project for…

7 days ago

GitHub Copilot vs Microsoft Copilot Best AI Tool to Use in 2025

GitHub is a powerful tool used by teams and developers around the globe. This guide is…

2 weeks ago

Chat with Claude AI Free – Your Super-Smart AI Buddy

It's like having a super-smart buddy that is always there to help you write stories,…

2 weeks ago

Best Festivals UK 2025 [Free Guide Included]

The UK is known for its rich history, diverse culture, and most of all  its…

3 weeks ago

Bank Holidays 2025 UK – Plan Your Perfect Long Weekends

Do you have a plan for your next holiday? Being aware of the Bank Holidays within the…

3 weeks ago

Master Cursor AI Full Guide for Students & Creators

The world is rapidly changing of software development AI-assisted tools for coding have become the main focus. As…

3 weeks ago