180 likes | 187 Views
Learn how to use netBeans IDE and GUIBuilder to create, edit, and run Java projects with a model-view-controller pattern. Includes an introduction to netBeans and BlueJ, as well as step-by-step instructions and examples.
E N D
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, …
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
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
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
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
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)
GUIBuilder • netBeans has an integrated GUI builder built-in • can create a (Swing) GUI using a drag-and-drop interface
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)
Associate events with elements • right click on element, select the event you want to handle
Source view • click on the Source button to see the generated code
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