Download Graphical User Interfaces (GUI)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Announcements & Review
Read
Ch GU1 & GU2 Cohoon
& Davidson
Ch 14 Reges & Stepp
Lab 10 set game
due 4/26
Exam 2
Wed 5/2 5:30-7:30
Last week:
Array Lists
Linked Lists
Searching with
Boyer/Moore
Next two weeks:
GUI - graphical user
interfaces
Lecture 32: Graphical User Interface (GUI)
Graphical User Interface
(GUI)
• Java was in part designed for web
applications
– Previously the OS provided all the GUI
– Library philosophy: grow widely reused and
desirable functionality in libraries
• libraries are separate from the language
• examples: collections, file input, Color
• some programmer went on from 305j to write Java
library routines ;-)
– GUI library makes it easier to write interactive
applications
Lecture 32: Graphical User Interface (GUI)
GUI Basics
• Graphical input/output using JFrames
• a JFrame contains on screen components
– e.g., buttons, labels, text, scroll bars, images, ...
• Layout
– arranges components in a Frame
• Events
– detecting and acting on user input
Lecture 32: Graphical User Interface (GUI)
GUI Code Structure
• GUI structure differs substantially from our
programming model so far
• model so far
– main has a bunch of statements Java does in order,
– when we get to the end, we are finished
• GUI model
– main creates a GUI object & that’s it!?
– The class GUI constructor registers a “listener” method
with an event (e.g., a button selection)
– When that event occurs, Java calls the “listener” method
– “listener” gathers the user input and acts on it
Lecture 32: Graphical User Interface (GUI)
GUI Interface
Remember: an interface is not a class, but a partial
definition of what needs to be in a class
1. Cannot specify method implementations
2. All methods in an interface are public
3. All variables are public, final, and static
4. A class can implement multiple interfaces
public interface ActionListener {
// constants
// method declarations
public void actionPerformed (ActionEvent e)
}
public class QuestionGUI implements ActionListener {...}
Lecture 32: Graphical User Interface (GUI)
A Basic GUI
public class QuestionGUI implements ActionListener {
// window instance variables
private JFrame window = new JFrame(“Review Questions”);
}
public QuestionGUI() {
// constructor that creates the GUI window, text, etc.
window.add(...);
}
public void actionPerformed (ActionEvent e) {
// grabs user input out of GUI and acts on it
}
public static void main (String[] args) {
QuestionGUI qgui = new QuestionGUI();
}
Lecture 32: Graphical User Interface (GUI)
A Basic GUI
• Let’s go work with the code
Lecture 32: Graphical User Interface (GUI)
Related documents