Why does NetBeans IDE use import statements specifically?

I use NetBeans IDE to do a project in JavaFX. The IDE imports all the necessary import statements automatically. It do this specifically, that is only the necessary import statements are imported. The following is the list of import statements in one of my java application -

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;

As seen, its a long list of import statements. One problem I found with this is that it takes more lines of code. Why don't they use the import statements like the following ?

import java.sql.*;
import java.util.logging.*;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.collections.*;
import javafx.event.*;
import javafx.geometry.Insets;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.text.*;
import javafx.stage.Stage;

This saves a lot of lines of code.

What is the actual difference between the 2 sets of import statements ? Why NetBeans use import statements specifically ?


Let me demonstrate one of the worst problems with wildcard imports:

import org.example.mylib.*;
import java.util.*;

class X {
  List<String> xs;
}

In version 2.0 of your mylib you add a class named List<T>. You don't touch the source code at all, and the source code has nothing to do with that added class.

If your added List defines all the methods which are used by class X, the code will build successfully, but the runtime behavior will change for deeply mysterious reasons.