event handler methods text field object responder java awt environment: messages are sent between...
DESCRIPTION
GUI Components and Screen Design GUI Demo Message Hello World CloseClearDisplay Panel Instance Textfield Instance Label Instance Button Instance Frame InstanceTRANSCRIPT
![Page 1: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/1.jpg)
Events and GUI Interfaces
![Page 2: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/2.jpg)
Event Handler Methods
Text field ObjectResponder
JAVA AWT Environment: Messages are sent between JAVA Objects
Screen
Event Notification
Press Button(Buttons other objects generate events: Source)
Object e.g. button
OS Interrupt
Listener or middleman(interface)
Generates an Event
![Page 3: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/3.jpg)
GUI Components and Screen Design
GUI Demo
Message
Hello World
CloseClearDisplay
Panel Instance
Textfield Instance
Label Instance
Button Instance
Frame Instance
![Page 4: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/4.jpg)
JButton button = new JButton("Add Interest"); JLabel label = new JLabel("balance: " +
account.getBalance()); JPanel panel = new JPanel() or extends JPanel;panel.add(button); panel.add(label); frame.add(panel);
(or the class that extends a panel)frame.add (aClass);
![Page 5: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/5.jpg)
Screen Design
Layout Managers
![Page 6: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/6.jpg)
Predefined Layout Manager Subclasses
FlowLayout GridLayout BorderLayout BoxLayout CardLayout GridBagLayout
![Page 7: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/7.jpg)
Layout Managers
Every container has a default layout manager
Programmer can set the layout manager as well
Each layout manager has its own particular rules governing how components will be arranged
setLayout () method
panel.setLayout (new BorderLayout() );
![Page 8: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/8.jpg)
Border Layout (default for JFrame)
Defines five areas or regions into which components can be added
North
South
Center EastWest
![Page 9: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/9.jpg)
BorderLayout (default for JFrame)package buttonapp;import javax.swing.Jframe;public class ButtonTester {
public static void main(String[] args) {
JFrame frame;ButtonPanel b = new ButtonPanel ();frame = new JFrame ("Button Frame");
frame.setSize(300, 400); frame.setDefaultCloseOperation
(javax.swing.JFrame.EXIT_ON_CLOSE);// frame.add(b);// or frame.add (b, BorderLayout.CENTER);
frame.pack (); frame.setVisible(true);}
}
![Page 10: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/10.jpg)
ButtonPanelpackage buttonapp;import javax.swing.JButton;import javax.swing.JPanel;public class ButtonPanel extends JPanel {
private JButton button1;public ButtonPanel ()
{button1 = new JButton ("Click Me");this.add(button1); }
}}
![Page 11: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/11.jpg)
Flow Layout Flow layout puts as many components as possible
on a row, then moves to the next row Rows are created as needed to accommodate all of
the components Components are displayed in the order they are
added to the container Each row of components is centered horizontally in
the window by default, but could also be aligned left or right
Also, the horizontal and vertical gaps between the components can be explicitly set
![Page 12: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/12.jpg)
Grid Layout A grid layout presents a container’s components in a rectangular
grid of rows and columns
One component is placed in each cell of the grid, and all cells have the same size
As components are added to the container, they fill the grid from left-to-right and top-to-bottom (by default)
The size of each cell is determined by the overall size of the container
setLayout (new GridLayout (<row>, <col>)
![Page 13: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/13.jpg)
LAB
![Page 14: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/14.jpg)
Project 31. SmartButton2. Passing a panel as
a parameter
![Page 15: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/15.jpg)
Choices
• Radio buttons • Check boxes • Combo boxes
![Page 16: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/16.jpg)
Radio Buttons
• mutually exclusive choices • When a button is selected, previously selected
button in set is automatically turned off
![Page 17: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/17.jpg)
Radio Buttons (example from WileyPlus)
JRadioButton smallButton = new JRadioButton("Small"); JRadioButton mediumButton = new JRadioButton("Medium");JRadioButton largeButton = new JRadioButton("Large");
// Add radio buttons into a ButtonGroup so that // only one button in group is on at any time ButtonGroup group = new ButtonGroup(); group.add(smallButton); group.add(mediumButton); group.add(largeButton);
![Page 18: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/18.jpg)
Radio Buttons
• Button group does not place buttons close to each other on container
• It is your job to arrange buttons on screen • isSelected: called to find out if a button is currently selected or
not
if(largeButton.isSelected()) size = LARGE_SIZE • Call setSelected(true) on a radio button in group before
making the enclosing frame visible
![Page 19: Event Handler Methods Text field Object Responder JAVA AWT Environment: Messages are sent between JAVA Objects Screen Event Notification Press Button](https://reader036.vdocuments.us/reader036/viewer/2022082911/5a4d1bb87f8b9ab0599cfd87/html5/thumbnails/19.jpg)
Border Examples
•
JPanel panel = new JPanel(); panel.setBorder(new EtchedBorder());
panel.setBorder(new TitledBorder(new EtchedBorder(), "Size"));
Border with a title