Title: GUI Basics: Introduction
1GUI Basics Introduction
2Creating GUI Objects
- // Create a button with text OK
- JButton jbtOK new JButton("OK")
- Â
- // Create a label with text "Enter your name "
- JLabel jlblName new JLabel("Enter your name
") - Â
- // Create a text field with text "Type Name Here"
- JTextField jtfName new JTextField("Type Name
Here") - Â
- // Create a check box with text bold
- JCheckBox jchkBold new JCheckBox("Bold")
Radio Button
Label
Text field
Check Box
Button
Combo Box
3Swing vs. AWT
- The biggest difference between the AWT
components and Swing components are - Swing components are implemented with absolutely
no native code. Native code is methods
implemented in another programming language such
as C . - Swing features are present on every platform.
- Swing can have more functionality than AWT
components. - Swing can be shipped as an add-on to JDKÂ 1.1, in
addition to being part of the Java 2 Platform.
4Swing vs. AWT
- Swing components have capabilities far beyond
what the AWT components offer - Swing buttons and labels can display images
instead of, or in addition to, text. - You can easily add or change the borders drawn
around most Swing components. For example, it's
easy to put a box around the outside of a
container or label. - You can easily change the behavior or appearance
of a Swing component by either invoking methods
on it or creating a subclass of it. - Swing components don't have to be rectangular.
Buttons, for example, can be round.
5GUI Class Hierarchy (Swing)
6Container Classes
Container classes can contain other GUI
components.
7GUI Helper Classes
The helper classes are not subclasses of
Component. They are used to describe the
properties of GUI components such as graphics
context, colors, fonts, and dimension.
8Swing GUI Components
9Components Covered in the Core Version
10Components Covered in the Comprehensive Version
11AWT (Optional)
12Frames
- Frame is a window that is not contained inside
another window. Frame is the basis to contain
other user interface components in Java GUI
applications. - The JFrame class can be used to create windows.
- For Swing GUI programs, use JFrame class to
create widows.
13Creating Frames
import javax.swing. public class MyFrame
public static void main(String args)
JFrame frame new JFrame("Test Frame")
frame.setSize(400, 300) frame.setVisible(true
) frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE)
14Adding Components into a Frame
// Add a button into the frame frame.getContentPan
e().add( new JButton("OK"))
Title bar
Content pane
import javax.swing. public class
MyFrameWithComponents public static void
main(String args) JFrame frame new
JFrame("MyFrameWithComponents") // Add a button
into the frame JButton jbtOK new
JButton("OK") frame.add(jbtOK)
frame.setSize(400, 300) frame.setVisible(true
) frame.setDefaultCloseOperation(JFrame.EXIT_ON
_CLOSE) frame.setLocationRelativeTo(null) //
New since JDK 1.4
15Content Pane Delegation in JDK 1.5
// Add a button into the frame frame.getContentPan
e().add( new JButton("OK"))
Title bar
// Add a button into the frame frame.add( new
JButton("OK"))
Content pane
16JFrame Class
17Layout Managers
- Javas layout managers provide a level of
abstraction to automatically map your user
interface on all window systems. - The UI components are placed in containers. Each
container has a layout manager to arrange the UI
components within the container. - Layout managers are set in containers using the
setLayout(LayoutManager) method in a container.
18Kinds of Layout Managers
- FlowLayout
- GridLayout
- BorderLayout