0% found this document useful (0 votes)
8 views

5- Java Packages

Uploaded by

Shweta Sahani
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

5- Java Packages

Uploaded by

Shweta Sahani
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Java Packages

Java packages are a crucial aspect of organizing Java classes


and interfaces, promoting better modularity and reusability
in programming. This unit will explore the creation of
packages, additional packages provided by Java, the java.io
package for input and output operations, and an overview
of Swing classes and controls, along with the advantages of
Swing over AWT (Abstract Window Toolkit).
1. Package Creation
A Java package is a namespace that groups related classes and
interfaces. By organizing classes into packages, developers
can avoid naming conflicts and control access levels.
Creating a package involves the following steps:
• Defining a Package: At the beginning of a Java source file,
the package keyword is used to specify the package name.
The package name is typically in lowercase to avoid
conflicts with class names.
• Directory Structure: The physical structure of the package
must match the package declaration. For example, if a
class is declared in package com.example, it should reside
in the directory path com/example.
• Compilation: To compile the classes within a package, the
javac command is used along with the -d option to specify
the destination for the compiled classes.
• Using Packages: To use classes from a package, the import
statement is utilized in the Java file. This allows access to
the classes defined in the package without needing to
reference their full package name each time.
2. Additional Packages
Java provides numerous built-in packages that extend its
functionality, including:
• java.lang: This is automatically imported and contains
fundamental classes like String, Math, and System.
• java.util: Contains utility classes such as collections
framework (List, Set, Map), date and time facilities, and
random number generation.
• java.net: Provides classes for network operations,
including handling URLs, sockets, and HTTP connections.
• java.awt: Contains classes for creating graphical user
interfaces (GUIs), including components like buttons and
text fields.
• java.swing: A more advanced set of GUI components built
on top of AWT.

3. Input/Output: Exploring java.io


The java.io package is essential for handling input and output
operations in Java, providing classes for reading and writing
data to files and other data streams. Some key classes in this
package include:
• File: Represents file and directory pathnames in an
abstract manner. It provides methods for creating,
deleting, and checking the properties of files and
directories.
• InputStream and OutputStream: These are abstract
classes that represent byte streams for reading and
writing binary data.
• Reader and Writer: Abstract classes for character
streams, allowing for the handling of character data,
which is essential for text files.
• BufferedReader and BufferedWriter: These classes
provide buffering for reading and writing operations,
enhancing performance by reducing the number of I/O
operations.
• PrintWriter: A convenient class for printing formatted text
to a file or output stream.
Using the java.io package, developers can perform various I/O
operations, such as reading from or writing to files, working
with console input and output, and handling data streams.
4. Swing Classes and Controls
Swing is a powerful GUI toolkit in Java that extends the
capabilities of AWT. It provides a rich set of GUI components
and a more flexible architecture. Key features of Swing
include:
• Lightweight Components: Unlike AWT components,
Swing components are lightweight, meaning they are not
tied to the native system's GUI. This allows for a more
consistent look and feel across different platforms.
• Pluggable Look and Feel: Swing allows developers to
customize the appearance of their applications. They can
choose from various look-and-feel options or create their
own.
• Rich Set of Components: Swing provides a wide array of
components, such as buttons, labels, text fields, combo
boxes, and tables, allowing developers to create
sophisticated user interfaces.
• Event Handling: Swing components support event-driven
programming, enabling the application to respond to user
actions such as clicks, key presses, and mouse
movements.
Common Swing Controls
Some of the commonly used Swing components include:
• JFrame: A top-level window that provides a frame for the
GUI application.
• JPanel: A generic container that can hold other
components.
• JButton: A clickable button that can trigger actions.
• JLabel: A non-editable text display component.
• JTextField: An editable text input field for user input.
• JTextArea: A multi-line area for displaying and editing
text.
• JComboBox: A drop-down list of options.
• JTable: A component for displaying data in tabular format.

5. Advantages of Swing over AWT


While AWT was the original toolkit for building GUIs in Java,
Swing offers several advantages that make it the preferred
choice for modern Java applications:
• Platform Independence: Swing components are drawn
using Java code, which means they do not rely on native
system resources, resulting in a consistent appearance
across platforms.
• Enhanced Features: Swing provides more advanced
components and features, such as tables, trees, and text
areas, which are not available in AWT.
• Better Performance: Swing's lightweight components
consume fewer resources, leading to improved
performance in GUI applications.
• Customizable Look and Feel: Swing supports pluggable
look-and-feel architecture, allowing developers to switch
themes without altering the underlying code.
• Rich Event Handling: Swing offers a more sophisticated
event handling mechanism that allows for greater
flexibility in managing user interactions.
• Improved Rendering: Swing provides better graphics
rendering capabilities, enabling smoother animations and
effects.

You might also like