Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1
1
CSC 222: Object-Oriented Programming
Spring 2013
netBeans & GUIBuilder netBeans IDE
create/edit/run a project model-view-controller pattern GUIBuilder
JFrame, JButton, JTextField, JTextArea, …
2
BlueJ netBeans
BlueJ is an Interactive Development Environment (IDE) designed for novice programmers simple to use visual interface makes class vs. object distinction clear can directly manipulate objects & call methods using mouse clicks can also write and execute statements in the Code Pad
however, it is somewhat limiting to experienced programmers
netBeans is a popular, industry-strength IDE for developing software free & open-source multi-platform (Mac, Windows, Linux) multi-language (Java, PHP, C/C++, …) has an integrated GUI builder
download from netbeans.org
2
Create a project
3
Select location & project name
4
3
Adding a file to the project
5
Select location & file/class name
6
4
Can then edit the default file
7
Completing a project each class in the project is its own file
one class must have a public static void main method when you run the project, this main method is executed
8
5
Editor features • code completion when type OBJECT., see list of method options
• Source menu • Format will try to indent selected lines consistently • Shift Left / Shift Right will manually indent selected lines • Toggle Comment comments/uncomments selected lines
• Refactor Rename can change a class/variable/method name
throughout the project
• Run Build Main Project compile all classes in the project Run Main Project execute the main method
9
example: Magic 8-ball create a new project named Magic
use the default option to create a default main class named TerminalUI
download the Die.java class into the src folder of this project
define a new class named Magic8Ball has a 3-sided Die object as a field has a getAnswer method that takes a String as input (a question) and returns one of
3 possible answers at random: "Definitely", "No way", or "Outlook hazy"
define a new class named TerminalUI, in the main method prompt the user for a question call getAnswer and display the answer
10
6
MVC pattern
model-view-controller is a software pattern used to develop reusable, modular software goal: isolate the application-specific logic from the user interface allows for independent testing & development, easy updates
for this example: the model consists of the logic of the application – Die & Magic8Ball the view is the Java terminal window the controller is the TerminalUI class with its text-based input/output
by separating the logic from the interface, it makes it possible to plug in a different interface, e.g., a Graphical User Interface (GUI)
11
GUIBuilder netBeans has an integrated GUI builder built-in
can create a (Swing) GUI using a drag-and-drop interface
12
7
Naming the GUI class
13
GUI design view
14
8
Build interface drag GUI elements from the Palette onto the Design Frame
can arrange, resize, alter Properties of the elements in particular, right click and change names of elements to be meaningful
(e.g., questionArea, answerButton, answerBox)
15
Associate events with elements
16
right click on element, select the event you want to handle
9
Source view click on the Source button to see the generated code
17
Completing the GUI add the Controller code to the GUI class
here, Magic8Ball object is a field, initialized in constructor code for I/O & method call are entered into the event-handler method
18