From BlueJ to NetBeans SWC 2.semester Why change…? BlueJ is great for introduction to programming ◦ Simple interface, few options ◦ Graphical interface to classes and objects ◦ Some tehnical details are hidden Why change…? NetBeans is great for professional programming ◦ ◦ ◦ ◦ Much more functionality Better editor, debugger,… Integration to database systems A full-blown, stand-alone system …but also more complex! What is NetBeans? NetBeans is an open-source project Originates from SUN Microsystems www.netbeans.org Can - of course – be downloaded for free from the website We use NetBeans 6.9.1 SE (+ Java JDK) What is NetBeans? How do I… …create a new project? …add a new class? …edit a class definition? …write text to the screen? …get input from the user? …run a project? Create a new project - BlueJ Choose Project | New Project… Create a new project - BlueJ Enter project name, press ”Create” Create a new project - NetBeans Choose File | New Project… Create a new project - NetBeans In Categories, choose ”Java” In Projects, choose ”Java Application” Create a new project - NetBeans Enter project name and location Create a new project - NetBeans Create a new project - NetBeans Why is there a ”Main.java” class…? All Java programs must contain a method with this signature: public static void main(String[] args) This was hidden in BlueJ! Think of Main as a ”System” class When the program starts, the code in the main(…) method is executed Add a new class- BlueJ Press ”New Class…” Enter class name Add a new class- BlueJ Add a new class- NetBeans Highlight the bankaccount package! Choose New | Java Class Add a new class- NetBeans Enter class name Add a new class- NetBeans Edit a class definition - BlueJ Double-click on the class icon Edit a class definition - BlueJ Edit a class definition - NetBeans Double-click on the class icon Edit a class definition - NetBeans Note the file panes in NetBeans Edit a class definition - NetBeans Why do red lines start to appear in the code, as soon as I start typing…? The NetBeans editor continuously makes an analysis of the code, even before it is compiled The editor highlights errors in the code by a waved red line, even before typing has been completed Helpful…? Annoying…? Edit a class definition - NetBeans Yes, I know, but I am still typing!! Edit a class definition - NetBeans See hints by hovering mouse over (!) Edit a class definition - NetBeans Why do lists with method names pop up when I type…? The NetBeans editor supports ”autocompletion”, i.e. it tries to predict what you will type next Typically when calling a method with ”.” Helpful, when you get used to it… Edit a class definition - NetBeans Available methods on the specific object/class Documentation for each method Writing text to the screen - BlueJ Writing text to the screen - BlueJ Writing text to the screen - NetBeans Writing text to the screen - NetBeans Need this code for actually executing the method Writing text to the screen - NetBeans Output written to the ”Output window” Get input from the user - BlueJ Get input from the user - BlueJ Enter parameter value directly Get input from the user - NetBeans Not quite as simple to get input from a user in NetBeans Two options ◦ Use the Scanner class ◦ Use a input dialog class See chapter 3.6 in Big Java for details Get input from the user - NetBeans import java.util.Scanner; … Scanner in = new Scanner(System.in); … String name = in.nextLine(); … int balance = in.nextInt(); … double area = in.nextDouble(); Get input from the user - NetBeans import javax.swing.JOptionPane; … String value = JOptionPane.showInputDialog(”Limit”); … int limit = Int.parseInt(value); Running a project - BlueJ We cannot as such ”run” a project in BlueJ – what should run..? We usually create a ”system” class, that has a ”run”-like method ◦ Create a System object ◦ Right-click the object ◦ Call the run method Running a project - NetBeans Choose Run | Run Main Project Running a project - NetBeans …or just click the green triangle (or press F6) Running a project - NetBeans Running a project always executes the main method in the Main class! A project is automatically compiled when you save it No reason to run a project in order to fix syntax errors Other NetBeans features A GUI Builder – build a GUI by drag-drop of controls. Code is auto-generated A much more powerful debugger More customisable Easy integration to database systems We will talk about additional features later on…